• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.ParcelDuration;
22 import android.os.PowerSaveState;
23 import android.os.WorkSource;
24 
25 /** @hide */
26 
27 interface IPowerManager
28 {
acquireWakeLock(IBinder lock, int flags, String tag, String packageName, in WorkSource ws, String historyTag, int displayId)29     void acquireWakeLock(IBinder lock, int flags, String tag, String packageName, in WorkSource ws,
30             String historyTag, int displayId);
acquireWakeLockWithUid(IBinder lock, int flags, String tag, String packageName, int uidtoblame, int displayId)31     void acquireWakeLockWithUid(IBinder lock, int flags, String tag, String packageName,
32             int uidtoblame, int displayId);
33     @UnsupportedAppUsage
releaseWakeLock(IBinder lock, int flags)34     void releaseWakeLock(IBinder lock, int flags);
updateWakeLockUids(IBinder lock, in int[] uids)35     void updateWakeLockUids(IBinder lock, in int[] uids);
setPowerBoost(int boost, int durationMs)36     oneway void setPowerBoost(int boost, int durationMs);
setPowerMode(int mode, boolean enabled)37     oneway void setPowerMode(int mode, boolean enabled);
38 
39     // Functionally identical to setPowerMode, but returns whether the call was successful
setPowerModeChecked(int mode, boolean enabled)40     boolean setPowerModeChecked(int mode, boolean enabled);
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 
userActivity(int displayId, long time, int event, int flags)45     void userActivity(int displayId, long time, int event, int flags);
wakeUp(long time, int reason, String details, String opPackageName)46     void wakeUp(long time, int reason, String details, String opPackageName);
47     @UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
goToSleep(long time, int reason, int flags)48     void goToSleep(long time, int reason, int flags);
49     @UnsupportedAppUsage(maxTargetSdk = 28)
nap(long time)50     void nap(long time);
getBrightnessConstraint(int constraint)51     float getBrightnessConstraint(int constraint);
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);
getFullPowerSavePolicy()57     BatterySaverPolicyConfig getFullPowerSavePolicy();
setFullPowerSavePolicy(in BatterySaverPolicyConfig config)58     boolean setFullPowerSavePolicy(in BatterySaverPolicyConfig config);
setDynamicPowerSaveHint(boolean powerSaveHint, int disableThreshold)59     boolean setDynamicPowerSaveHint(boolean powerSaveHint, int disableThreshold);
setAdaptivePowerSavePolicy(in BatterySaverPolicyConfig config)60     boolean setAdaptivePowerSavePolicy(in BatterySaverPolicyConfig config);
setAdaptivePowerSaveEnabled(boolean enabled)61     boolean setAdaptivePowerSaveEnabled(boolean enabled);
getPowerSaveModeTrigger()62     int getPowerSaveModeTrigger();
setBatteryDischargePrediction(in ParcelDuration timeRemaining, boolean isCustomized)63     void setBatteryDischargePrediction(in ParcelDuration timeRemaining, boolean isCustomized);
getBatteryDischargePrediction()64     ParcelDuration getBatteryDischargePrediction();
isBatteryDischargePredictionPersonalized()65     boolean isBatteryDischargePredictionPersonalized();
isDeviceIdleMode()66     boolean isDeviceIdleMode();
isLightDeviceIdleMode()67     boolean isLightDeviceIdleMode();
68 
69     @UnsupportedAppUsage
reboot(boolean confirm, String reason, boolean wait)70     void reboot(boolean confirm, String reason, boolean wait);
rebootSafeMode(boolean confirm, boolean wait)71     void rebootSafeMode(boolean confirm, boolean wait);
shutdown(boolean confirm, String reason, boolean wait)72     void shutdown(boolean confirm, String reason, boolean wait);
crash(String message)73     void crash(String message);
getLastShutdownReason()74     int getLastShutdownReason();
getLastSleepReason()75     int getLastSleepReason();
76 
setStayOnSetting(int val)77     void setStayOnSetting(int val);
boostScreenBrightness(long time)78     void boostScreenBrightness(long time);
79 
80     // Do not use, will be deprecated soon.  b/151831987
acquireWakeLockAsync(IBinder lock, int flags, String tag, String packageName, in WorkSource ws, String historyTag)81     oneway void acquireWakeLockAsync(IBinder lock, int flags, String tag, String packageName,
82             in WorkSource ws, String historyTag);
releaseWakeLockAsync(IBinder lock, int flags)83     oneway void releaseWakeLockAsync(IBinder lock, int flags);
updateWakeLockUidsAsync(IBinder lock, in int[] uids)84     oneway void updateWakeLockUidsAsync(IBinder lock, in int[] uids);
85 
86     // --- deprecated ---
isScreenBrightnessBoosted()87     boolean isScreenBrightnessBoosted();
88 
89     // sets the attention light (used by phone app only)
setAttentionLight(boolean on, int color)90     void setAttentionLight(boolean on, int color);
91 
92     // controls whether PowerManager should doze after the screen turns off or not
setDozeAfterScreenOff(boolean on)93     void setDozeAfterScreenOff(boolean on);
94     // returns whether ambient display is available on the device.
isAmbientDisplayAvailable()95     boolean isAmbientDisplayAvailable();
96     // suppresses the current ambient display configuration and disables ambient display.
suppressAmbientDisplay(String token, boolean suppress)97     void suppressAmbientDisplay(String token, boolean suppress);
98     // returns whether ambient display is suppressed by the calling app with the given token.
isAmbientDisplaySuppressedForToken(String token)99     boolean isAmbientDisplaySuppressedForToken(String token);
100     // returns whether ambient display is suppressed by any app with any token.
isAmbientDisplaySuppressed()101     boolean isAmbientDisplaySuppressed();
102     // returns whether ambient display is suppressed by the given app with the given token.
isAmbientDisplaySuppressedForTokenByApp(String token, int appUid)103     boolean isAmbientDisplaySuppressedForTokenByApp(String token, int appUid);
104 
105     // Forces the system to suspend even if there are held wakelocks.
forceSuspend()106     boolean forceSuspend();
107 
108     const int LOCATION_MODE_NO_CHANGE = 0;
109     const int LOCATION_MODE_GPS_DISABLED_WHEN_SCREEN_OFF = 1;
110     const int LOCATION_MODE_ALL_DISABLED_WHEN_SCREEN_OFF = 2;
111     const int LOCATION_MODE_FOREGROUND_ONLY = 3;
112     const int LOCATION_MODE_THROTTLE_REQUESTS_WHEN_SCREEN_OFF = 4;
113     const int MIN_LOCATION_MODE = 0;
114     const int MAX_LOCATION_MODE = 4;
115 
116     const int GO_TO_SLEEP_REASON_MIN = 0;
117     const int GO_TO_SLEEP_REASON_APPLICATION = 0;
118     const int GO_TO_SLEEP_REASON_TIMEOUT = 2;
119     const int GO_TO_SLEEP_REASON_LID_SWITCH = 3;
120     const int GO_TO_SLEEP_REASON_POWER_BUTTON = 4;
121     const int GO_TO_SLEEP_REASON_HDMI = 5;
122     const int GO_TO_SLEEP_REASON_SLEEP_BUTTON = 6;
123     const int GO_TO_SLEEP_REASON_ACCESSIBILITY = 7;
124     const int GO_TO_SLEEP_REASON_FORCE_SUSPEND = 8;
125     const int GO_TO_SLEEP_REASON_INATTENTIVE = 9;
126     const int GO_TO_SLEEP_REASON_QUIESCENT = 10;
127     const int GO_TO_SLEEP_REASON_MAX = 10;
128     const int GO_TO_SLEEP_FLAG_NO_DOZE = 1 << 0;
129 
130 }
131