1/* //device/java/android/android/os/IPowerManager.aidl
2**
3** Copyright 2007, The Android Open Source Project
4**
5** Licensed under the Apache License, Version 2.0 (the "License");
6** you may not use this file except in compliance with the License.
7** You may obtain a copy of the License at
8**
9**     http://www.apache.org/licenses/LICENSE-2.0
10**
11** Unless required by applicable law or agreed to in writing, software
12** distributed under the License is distributed on an "AS IS" BASIS,
13** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14** See the License for the specific language governing permissions and
15** limitations under the License.
16*/
17
18package android.os;
19
20import android.os.WorkSource;
21
22/** @hide */
23
24interface IPowerManager
25{
26    // WARNING: The first five methods must remain the first five methods because their
27    // transaction numbers must not change unless IPowerManager.cpp is also updated.
28    void acquireWakeLock(IBinder lock, int flags, String tag, String packageName, in WorkSource ws,
29            String historyTag);
30    void acquireWakeLockWithUid(IBinder lock, int flags, String tag, String packageName,
31            int uidtoblame);
32    void releaseWakeLock(IBinder lock, int flags);
33    void updateWakeLockUids(IBinder lock, in int[] uids);
34    oneway void powerHint(int hintId, int data);
35
36    void updateWakeLockWorkSource(IBinder lock, in WorkSource ws, String historyTag);
37    boolean isWakeLockLevelSupported(int level);
38
39    void userActivity(long time, int event, int flags);
40    void wakeUp(long time, String reason, String opPackageName);
41    void goToSleep(long time, int reason, int flags);
42    void nap(long time);
43    boolean isInteractive();
44    boolean isPowerSaveMode();
45    boolean setPowerSaveMode(boolean mode);
46    boolean isDeviceIdleMode();
47
48    void reboot(boolean confirm, String reason, boolean wait);
49    void shutdown(boolean confirm, boolean wait);
50    void crash(String message);
51
52    void setStayOnSetting(int val);
53    void boostScreenBrightness(long time);
54    boolean isScreenBrightnessBoosted();
55
56    // temporarily overrides the screen brightness settings to allow the user to
57    // see the effect of a settings change without applying it immediately
58    void setTemporaryScreenBrightnessSettingOverride(int brightness);
59    void setTemporaryScreenAutoBrightnessAdjustmentSettingOverride(float adj);
60
61    // sets the attention light (used by phone app only)
62    void setAttentionLight(boolean on, int color);
63}
64