The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 1 | /* //device/java/android/android/os/IPowerManager.aidl |
| 2 | ** |
| 3 | ** Copyright 2007, The Android Open Source Project |
| 4 | ** |
jackqdyulei | 455e90a | 2017-02-09 15:29:16 -0800 | [diff] [blame] | 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 |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 8 | ** |
jackqdyulei | 455e90a | 2017-02-09 15:29:16 -0800 | [diff] [blame] | 9 | ** http://www.apache.org/licenses/LICENSE-2.0 |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 10 | ** |
jackqdyulei | 455e90a | 2017-02-09 15:29:16 -0800 | [diff] [blame] | 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 |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 15 | ** limitations under the License. |
| 16 | */ |
| 17 | |
| 18 | package android.os; |
| 19 | |
Kweku Adams | 9f488e2 | 2019-01-14 16:25:08 -0800 | [diff] [blame] | 20 | import android.os.BatterySaverPolicyConfig; |
jackqdyulei | 455e90a | 2017-02-09 15:29:16 -0800 | [diff] [blame] | 21 | import android.os.PowerSaveState; |
Kweku Adams | 9f488e2 | 2019-01-14 16:25:08 -0800 | [diff] [blame] | 22 | import android.os.WorkSource; |
Dianne Hackborn | 7e9f4eb | 2010-09-10 18:43:00 -0700 | [diff] [blame] | 23 | |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 24 | /** @hide */ |
Eric Laurent | 6dbdc40 | 2011-07-22 09:04:31 -0700 | [diff] [blame] | 25 | |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 26 | interface IPowerManager |
| 27 | { |
Daniel Erat | 22f5876 | 2015-09-30 14:55:35 -0600 | [diff] [blame] | 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. |
Dianne Hackborn | a1f1a3c | 2014-02-24 18:12:28 -0800 | [diff] [blame] | 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); |
Andrei Onea | e30e392 | 2019-03-21 13:57:17 +0000 | [diff] [blame] | 37 | @UnsupportedAppUsage |
Mike Lockwood | 0e39ea8 | 2009-11-18 15:37:10 -0500 | [diff] [blame] | 38 | void releaseWakeLock(IBinder lock, int flags); |
Marco Nelissen | 1125235 | 2013-10-16 10:57:05 -0700 | [diff] [blame] | 39 | void updateWakeLockUids(IBinder lock, in int[] uids); |
Ruchi Kandoi | f20a5eb | 2014-04-01 17:39:20 -0700 | [diff] [blame] | 40 | oneway void powerHint(int hintId, int data); |
Jeff Brown | 9630704 | 2012-07-27 15:51:34 -0700 | [diff] [blame] | 41 | |
Dianne Hackborn | 4590e52 | 2014-03-24 13:36:46 -0700 | [diff] [blame] | 42 | void updateWakeLockWorkSource(IBinder lock, in WorkSource ws, String historyTag); |
Jeff Brown | 9630704 | 2012-07-27 15:51:34 -0700 | [diff] [blame] | 43 | boolean isWakeLockLevelSupported(int level); |
| 44 | |
Andrei Onea | 24ec321 | 2019-03-15 17:35:05 +0000 | [diff] [blame] | 45 | @UnsupportedAppUsage |
Jeff Brown | 9630704 | 2012-07-27 15:51:34 -0700 | [diff] [blame] | 46 | void userActivity(long time, int event, int flags); |
Michael Wright | e300104 | 2019-02-05 00:13:14 +0000 | [diff] [blame] | 47 | void wakeUp(long time, int reason, String details, String opPackageName); |
Andrei Onea | 24ec321 | 2019-03-15 17:35:05 +0000 | [diff] [blame] | 48 | @UnsupportedAppUsage |
Jeff Brown | 6d8fd27 | 2014-05-20 21:24:38 -0700 | [diff] [blame] | 49 | void goToSleep(long time, int reason, int flags); |
Artur Satayev | 70507ed | 2019-07-29 13:18:27 +0100 | [diff] [blame] | 50 | @UnsupportedAppUsage(maxTargetSdk = 28) |
Jeff Brown | 62c82e4 | 2012-09-26 01:30:41 -0700 | [diff] [blame] | 51 | void nap(long time); |
Andrei Onea | 24ec321 | 2019-03-15 17:35:05 +0000 | [diff] [blame] | 52 | @UnsupportedAppUsage |
Jeff Brown | 037c33e | 2014-04-09 00:31:55 -0700 | [diff] [blame] | 53 | boolean isInteractive(); |
Dianne Hackborn | eb94fa7 | 2014-06-03 17:48:12 -0700 | [diff] [blame] | 54 | boolean isPowerSaveMode(); |
jackqdyulei | 455e90a | 2017-02-09 15:29:16 -0800 | [diff] [blame] | 55 | PowerSaveState getPowerSaveState(int serviceType); |
Salvador Martinez | c8c4c5d | 2019-03-11 11:11:37 -0700 | [diff] [blame] | 56 | boolean setPowerSaveModeEnabled(boolean mode); |
Salvador Martinez | b85a9f8 | 2019-03-20 16:21:27 -0700 | [diff] [blame] | 57 | boolean setDynamicPowerSaveHint(boolean powerSaveHint, int disableThreshold); |
Kweku Adams | 9f488e2 | 2019-01-14 16:25:08 -0800 | [diff] [blame] | 58 | boolean setAdaptivePowerSavePolicy(in BatterySaverPolicyConfig config); |
| 59 | boolean setAdaptivePowerSaveEnabled(boolean enabled); |
Salvador Martinez | b85a9f8 | 2019-03-20 16:21:27 -0700 | [diff] [blame] | 60 | int getPowerSaveModeTrigger(); |
Dianne Hackborn | 88e98df | 2015-03-23 13:29:14 -0700 | [diff] [blame] | 61 | boolean isDeviceIdleMode(); |
Dianne Hackborn | 08c47a5 | 2015-10-15 12:38:14 -0700 | [diff] [blame] | 62 | boolean isLightDeviceIdleMode(); |
Jeff Brown | 9630704 | 2012-07-27 15:51:34 -0700 | [diff] [blame] | 63 | |
Andrei Onea | 24ec321 | 2019-03-15 17:35:05 +0000 | [diff] [blame] | 64 | @UnsupportedAppUsage |
Dianne Hackborn | c428aae | 2012-10-03 16:38:22 -0700 | [diff] [blame] | 65 | void reboot(boolean confirm, String reason, boolean wait); |
Tony Mantler | b8009fd | 2016-03-14 15:55:35 -0700 | [diff] [blame] | 66 | void rebootSafeMode(boolean confirm, boolean wait); |
Yusuke Sato | 705ffd1 | 2015-07-21 15:52:11 -0700 | [diff] [blame] | 67 | void shutdown(boolean confirm, String reason, boolean wait); |
Dan Egnor | 60d8762 | 2009-12-16 16:32:58 -0800 | [diff] [blame] | 68 | void crash(String message); |
Salvador Martinez | a6f7b25 | 2017-04-10 10:46:15 -0700 | [diff] [blame] | 69 | int getLastShutdownReason(); |
Calin Tataru | a380572 | 2018-08-09 16:41:28 +0200 | [diff] [blame] | 70 | int getLastSleepReason(); |
Mike Lockwood | 237a299 | 2009-09-15 14:42:16 -0400 | [diff] [blame] | 71 | |
Jeff Brown | 9630704 | 2012-07-27 15:51:34 -0700 | [diff] [blame] | 72 | void setStayOnSetting(int val); |
Jeff Brown | e333e67 | 2014-10-28 13:48:55 -0700 | [diff] [blame] | 73 | void boostScreenBrightness(long time); |
Julius D'souza | b22da80 | 2017-06-09 10:27:14 -0700 | [diff] [blame] | 74 | |
| 75 | // --- deprecated --- |
Bryce Lee | 84d6c0f | 2015-03-17 10:43:08 -0700 | [diff] [blame] | 76 | boolean isScreenBrightnessBoosted(); |
Jeff Brown | 9630704 | 2012-07-27 15:51:34 -0700 | [diff] [blame] | 77 | |
Jeff Brown | 9630704 | 2012-07-27 15:51:34 -0700 | [diff] [blame] | 78 | // sets the attention light (used by phone app only) |
Mike Lockwood | b11832d | 2009-11-25 15:25:55 -0500 | [diff] [blame] | 79 | void setAttentionLight(boolean on, int color); |
Lucas Dupin | 16cfe45 | 2018-02-08 13:14:50 -0800 | [diff] [blame] | 80 | |
| 81 | // controls whether PowerManager should doze after the screen turns off or not |
| 82 | void setDozeAfterScreenOff(boolean on); |
Santos Cordon | 12f92eb | 2019-02-01 21:28:47 +0000 | [diff] [blame] | 83 | |
| 84 | // Forces the system to suspend even if there are held wakelocks. |
| 85 | boolean forceSuspend(); |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 86 | } |