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. 33 void acquireWakeLock(IBinder lock, int flags, String tag, String packageName, in WorkSource ws, 34 String historyTag); 35 void acquireWakeLockWithUid(IBinder lock, int flags, String tag, String packageName, 36 int uidtoblame); 37 @UnsupportedAppUsage 38 void releaseWakeLock(IBinder lock, int flags); 39 void updateWakeLockUids(IBinder lock, in int[] uids); 40 oneway void powerHint(int hintId, int data); 41 42 void updateWakeLockWorkSource(IBinder lock, in WorkSource ws, String historyTag); 43 boolean isWakeLockLevelSupported(int level); 44 45 @UnsupportedAppUsage 46 void userActivity(long time, int event, int flags); 47 void wakeUp(long time, int reason, String details, String opPackageName); 48 @UnsupportedAppUsage 49 void goToSleep(long time, int reason, int flags); 50 void nap(long time); 51 @UnsupportedAppUsage 52 boolean isInteractive(); 53 boolean isPowerSaveMode(); 54 PowerSaveState getPowerSaveState(int serviceType); 55 boolean setPowerSaveModeEnabled(boolean mode); 56 boolean setDynamicPowerSaveHint(boolean powerSaveHint, int disableThreshold); 57 boolean setAdaptivePowerSavePolicy(in BatterySaverPolicyConfig config); 58 boolean setAdaptivePowerSaveEnabled(boolean enabled); 59 int getPowerSaveModeTrigger(); 60 boolean isDeviceIdleMode(); 61 boolean isLightDeviceIdleMode(); 62 63 @UnsupportedAppUsage 64 void reboot(boolean confirm, String reason, boolean wait); 65 void rebootSafeMode(boolean confirm, boolean wait); 66 void shutdown(boolean confirm, String reason, boolean wait); 67 void crash(String message); 68 int getLastShutdownReason(); 69 int getLastSleepReason(); 70 71 void setStayOnSetting(int val); 72 void boostScreenBrightness(long time); 73 74 // --- deprecated --- 75 boolean isScreenBrightnessBoosted(); 76 77 // sets the attention light (used by phone app only) 78 void setAttentionLight(boolean on, int color); 79 80 // controls whether PowerManager should doze after the screen turns off or not 81 void setDozeAfterScreenOff(boolean on); 82 83 // Forces the system to suspend even if there are held wakelocks. 84 boolean forceSuspend(); 85 } 86