blob: 1d464c005cb9da6edabf93f1860a846e416c8e2b [file] [log] [blame]
The Android Open Source Project9066cfe2009-03-03 19:31:44 -08001/* //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
Dianne Hackborn7e9f4eb2010-09-10 18:43:00 -070020import android.os.WorkSource;
21
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080022/** @hide */
Eric Laurent6dbdc402011-07-22 09:04:31 -070023
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080024interface IPowerManager
25{
Daniel Erat22f58762015-09-30 14:55:35 -060026 // WARNING: When methods are inserted or deleted, the transaction IDs in
27 // frameworks/native/include/powermanager/IPowerManager.h must be updated to match the order in this file.
28 //
29 // When a method's argument list is changed, BnPowerManager's corresponding serialization code (if any) in
30 // frameworks/native/services/powermanager/IPowerManager.cpp must be updated.
Dianne Hackborna1f1a3c2014-02-24 18:12:28 -080031 void acquireWakeLock(IBinder lock, int flags, String tag, String packageName, in WorkSource ws,
32 String historyTag);
33 void acquireWakeLockWithUid(IBinder lock, int flags, String tag, String packageName,
34 int uidtoblame);
Mike Lockwood0e39ea82009-11-18 15:37:10 -050035 void releaseWakeLock(IBinder lock, int flags);
Marco Nelissen11252352013-10-16 10:57:05 -070036 void updateWakeLockUids(IBinder lock, in int[] uids);
Ruchi Kandoif20a5eb2014-04-01 17:39:20 -070037 oneway void powerHint(int hintId, int data);
Jeff Brown96307042012-07-27 15:51:34 -070038
Dianne Hackborn4590e522014-03-24 13:36:46 -070039 void updateWakeLockWorkSource(IBinder lock, in WorkSource ws, String historyTag);
Jeff Brown96307042012-07-27 15:51:34 -070040 boolean isWakeLockLevelSupported(int level);
41
42 void userActivity(long time, int event, int flags);
Dianne Hackborn280a64e2015-07-13 14:48:08 -070043 void wakeUp(long time, String reason, String opPackageName);
Jeff Brown6d8fd272014-05-20 21:24:38 -070044 void goToSleep(long time, int reason, int flags);
Jeff Brown62c82e42012-09-26 01:30:41 -070045 void nap(long time);
Jeff Brown037c33e2014-04-09 00:31:55 -070046 boolean isInteractive();
Dianne Hackborneb94fa72014-06-03 17:48:12 -070047 boolean isPowerSaveMode();
John Spurlock8d4e6cb2014-09-14 11:10:22 -040048 boolean setPowerSaveMode(boolean mode);
Dianne Hackborn88e98df2015-03-23 13:29:14 -070049 boolean isDeviceIdleMode();
Dianne Hackborn08c47a52015-10-15 12:38:14 -070050 boolean isLightDeviceIdleMode();
Jeff Brown96307042012-07-27 15:51:34 -070051
Dianne Hackbornc428aae2012-10-03 16:38:22 -070052 void reboot(boolean confirm, String reason, boolean wait);
Tony Mantlerb8009fd2016-03-14 15:55:35 -070053 void rebootSafeMode(boolean confirm, boolean wait);
Yusuke Sato705ffd12015-07-21 15:52:11 -070054 void shutdown(boolean confirm, String reason, boolean wait);
Dan Egnor60d87622009-12-16 16:32:58 -080055 void crash(String message);
Mike Lockwood237a2992009-09-15 14:42:16 -040056
Jeff Brown96307042012-07-27 15:51:34 -070057 void setStayOnSetting(int val);
Jeff Browne333e672014-10-28 13:48:55 -070058 void boostScreenBrightness(long time);
Bryce Lee84d6c0f2015-03-17 10:43:08 -070059 boolean isScreenBrightnessBoosted();
Jeff Brown96307042012-07-27 15:51:34 -070060
61 // temporarily overrides the screen brightness settings to allow the user to
62 // see the effect of a settings change without applying it immediately
63 void setTemporaryScreenBrightnessSettingOverride(int brightness);
64 void setTemporaryScreenAutoBrightnessAdjustmentSettingOverride(float adj);
65
66 // sets the attention light (used by phone app only)
Mike Lockwoodb11832d2009-11-25 15:25:55 -050067 void setAttentionLight(boolean on, int color);
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080068}