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 
18 package android.os;
19 
20 import android.os.BatterySaverPolicyConfig;
21 import android.os.PowerSaveState;
22 import android.os.WorkSource;
23 
24 /** @hide */
25 
26 interface IPowerManager
27 {
28     // WARNING: When methods are inserted or deleted, the transaction IDs in
29     // frameworks/native/include/powermanager/IPowerManager.h must be updated to match the order in this file.
30     //
31     // When a method's argument list is changed, BnPowerManager's corresponding serialization code (if any) in
32     // frameworks/native/services/powermanager/IPowerManager.cpp must be updated.
acquireWakeLock(IBinder lock, int flags, String tag, String packageName, in WorkSource ws, String historyTag)33     void acquireWakeLock(IBinder lock, int flags, String tag, String packageName, in WorkSource ws,
34             String historyTag);
acquireWakeLockWithUid(IBinder lock, int flags, String tag, String packageName, int uidtoblame)35     void acquireWakeLockWithUid(IBinder lock, int flags, String tag, String packageName,
36             int uidtoblame);
37     @UnsupportedAppUsage
releaseWakeLock(IBinder lock, int flags)38     void releaseWakeLock(IBinder lock, int flags);
updateWakeLockUids(IBinder lock, in int[] uids)39     void updateWakeLockUids(IBinder lock, in int[] uids);
powerHint(int hintId, int data)40     oneway void powerHint(int hintId, int data);
41 
updateWakeLockWorkSource(IBinder lock, in WorkSource ws, String historyTag)42     void updateWakeLockWorkSource(IBinder lock, in WorkSource ws, String historyTag);
isWakeLockLevelSupported(int level)43     boolean isWakeLockLevelSupported(int level);
44 
45     @UnsupportedAppUsage
userActivity(long time, int event, int flags)46     void userActivity(long time, int event, int flags);
wakeUp(long time, int reason, String details, String opPackageName)47     void wakeUp(long time, int reason, String details, String opPackageName);
48     @UnsupportedAppUsage
goToSleep(long time, int reason, int flags)49     void goToSleep(long time, int reason, int flags);
50     @UnsupportedAppUsage(maxTargetSdk = 28)
nap(long time)51     void nap(long time);
52     @UnsupportedAppUsage
isInteractive()53     boolean isInteractive();
isPowerSaveMode()54     boolean isPowerSaveMode();
getPowerSaveState(int serviceType)55     PowerSaveState getPowerSaveState(int serviceType);
setPowerSaveModeEnabled(boolean mode)56     boolean setPowerSaveModeEnabled(boolean mode);
setDynamicPowerSaveHint(boolean powerSaveHint, int disableThreshold)57     boolean setDynamicPowerSaveHint(boolean powerSaveHint, int disableThreshold);
setAdaptivePowerSavePolicy(in BatterySaverPolicyConfig config)58     boolean setAdaptivePowerSavePolicy(in BatterySaverPolicyConfig config);
setAdaptivePowerSaveEnabled(boolean enabled)59     boolean setAdaptivePowerSaveEnabled(boolean enabled);
getPowerSaveModeTrigger()60     int getPowerSaveModeTrigger();
isDeviceIdleMode()61     boolean isDeviceIdleMode();
isLightDeviceIdleMode()62     boolean isLightDeviceIdleMode();
63 
64     @UnsupportedAppUsage
reboot(boolean confirm, String reason, boolean wait)65     void reboot(boolean confirm, String reason, boolean wait);
rebootSafeMode(boolean confirm, boolean wait)66     void rebootSafeMode(boolean confirm, boolean wait);
shutdown(boolean confirm, String reason, boolean wait)67     void shutdown(boolean confirm, String reason, boolean wait);
crash(String message)68     void crash(String message);
getLastShutdownReason()69     int getLastShutdownReason();
getLastSleepReason()70     int getLastSleepReason();
71 
setStayOnSetting(int val)72     void setStayOnSetting(int val);
boostScreenBrightness(long time)73     void boostScreenBrightness(long time);
74 
75     // --- deprecated ---
isScreenBrightnessBoosted()76     boolean isScreenBrightnessBoosted();
77 
78     // sets the attention light (used by phone app only)
setAttentionLight(boolean on, int color)79     void setAttentionLight(boolean on, int color);
80 
81     // controls whether PowerManager should doze after the screen turns off or not
setDozeAfterScreenOff(boolean on)82     void setDozeAfterScreenOff(boolean on);
83 
84     // Forces the system to suspend even if there are held wakelocks.
forceSuspend()85     boolean forceSuspend();
86 }
87