blob: ec3068431ea1897e39515a27bd8d0dd7690bc13f [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{
Ruchi Kandoif20a5eb2014-04-01 17:39:20 -070026 // WARNING: The first five methods must remain the first five methods because their
Jeff Brown96307042012-07-27 15:51:34 -070027 // transaction numbers must not change unless IPowerManager.cpp is also updated.
Dianne Hackborna1f1a3c2014-02-24 18:12:28 -080028 void acquireWakeLock(IBinder lock, int flags, String tag, String packageName, in WorkSource ws,
29 String historyTag);
30 void acquireWakeLockWithUid(IBinder lock, int flags, String tag, String packageName,
31 int uidtoblame);
Mike Lockwood0e39ea82009-11-18 15:37:10 -050032 void releaseWakeLock(IBinder lock, int flags);
Marco Nelissen11252352013-10-16 10:57:05 -070033 void updateWakeLockUids(IBinder lock, in int[] uids);
Ruchi Kandoif20a5eb2014-04-01 17:39:20 -070034 oneway void powerHint(int hintId, int data);
Jeff Brown96307042012-07-27 15:51:34 -070035
Dianne Hackborn4590e522014-03-24 13:36:46 -070036 void updateWakeLockWorkSource(IBinder lock, in WorkSource ws, String historyTag);
Jeff Brown96307042012-07-27 15:51:34 -070037 boolean isWakeLockLevelSupported(int level);
38
39 void userActivity(long time, int event, int flags);
40 void wakeUp(long time);
Jeff Brown6d8fd272014-05-20 21:24:38 -070041 void goToSleep(long time, int reason, int flags);
Jeff Brown62c82e42012-09-26 01:30:41 -070042 void nap(long time);
Jeff Brown037c33e2014-04-09 00:31:55 -070043 boolean isInteractive();
Dianne Hackborneb94fa72014-06-03 17:48:12 -070044 boolean isPowerSaveMode();
John Spurlock8d4e6cb2014-09-14 11:10:22 -040045 boolean setPowerSaveMode(boolean mode);
Jeff Brown96307042012-07-27 15:51:34 -070046
Dianne Hackbornc428aae2012-10-03 16:38:22 -070047 void reboot(boolean confirm, String reason, boolean wait);
48 void shutdown(boolean confirm, boolean wait);
Dan Egnor60d87622009-12-16 16:32:58 -080049 void crash(String message);
Mike Lockwood237a2992009-09-15 14:42:16 -040050
Jeff Brown96307042012-07-27 15:51:34 -070051 void setStayOnSetting(int val);
52 void setMaximumScreenOffTimeoutFromDeviceAdmin(int timeMs);
Jeff Browne333e672014-10-28 13:48:55 -070053 void boostScreenBrightness(long time);
Jeff Brown96307042012-07-27 15:51:34 -070054
55 // temporarily overrides the screen brightness settings to allow the user to
56 // see the effect of a settings change without applying it immediately
57 void setTemporaryScreenBrightnessSettingOverride(int brightness);
58 void setTemporaryScreenAutoBrightnessAdjustmentSettingOverride(float adj);
59
60 // sets the attention light (used by phone app only)
Mike Lockwoodb11832d2009-11-25 15:25:55 -050061 void setAttentionLight(boolean on, int color);
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080062}