blob: 1681f11fa526374af847a10c560c1e718e816ae6 [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**
jackqdyulei455e90a2017-02-09 15:29:16 -08005** 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 Project9066cfe2009-03-03 19:31:44 -08008**
jackqdyulei455e90a2017-02-09 15:29:16 -08009** http://www.apache.org/licenses/LICENSE-2.0
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080010**
jackqdyulei455e90a2017-02-09 15:29:16 -080011** 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 Project9066cfe2009-03-03 19:31:44 -080015** limitations under the License.
16*/
17
18package android.os;
19
Dianne Hackborn7e9f4eb2010-09-10 18:43:00 -070020import android.os.WorkSource;
jackqdyulei455e90a2017-02-09 15:29:16 -080021import android.os.PowerSaveState;
Dianne Hackborn7e9f4eb2010-09-10 18:43:00 -070022
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080023/** @hide */
Eric Laurent6dbdc402011-07-22 09:04:31 -070024
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080025interface IPowerManager
26{
Daniel Erat22f58762015-09-30 14:55:35 -060027 // WARNING: When methods are inserted or deleted, the transaction IDs in
28 // frameworks/native/include/powermanager/IPowerManager.h must be updated to match the order in this file.
29 //
30 // When a method's argument list is changed, BnPowerManager's corresponding serialization code (if any) in
31 // frameworks/native/services/powermanager/IPowerManager.cpp must be updated.
Dianne Hackborna1f1a3c2014-02-24 18:12:28 -080032 void acquireWakeLock(IBinder lock, int flags, String tag, String packageName, in WorkSource ws,
33 String historyTag);
34 void acquireWakeLockWithUid(IBinder lock, int flags, String tag, String packageName,
35 int uidtoblame);
Mike Lockwood0e39ea82009-11-18 15:37:10 -050036 void releaseWakeLock(IBinder lock, int flags);
Marco Nelissen11252352013-10-16 10:57:05 -070037 void updateWakeLockUids(IBinder lock, in int[] uids);
Ruchi Kandoif20a5eb2014-04-01 17:39:20 -070038 oneway void powerHint(int hintId, int data);
Jeff Brown96307042012-07-27 15:51:34 -070039
Dianne Hackborn4590e522014-03-24 13:36:46 -070040 void updateWakeLockWorkSource(IBinder lock, in WorkSource ws, String historyTag);
Jeff Brown96307042012-07-27 15:51:34 -070041 boolean isWakeLockLevelSupported(int level);
42
43 void userActivity(long time, int event, int flags);
Dianne Hackborn280a64e2015-07-13 14:48:08 -070044 void wakeUp(long time, String reason, String opPackageName);
Jeff Brown6d8fd272014-05-20 21:24:38 -070045 void goToSleep(long time, int reason, int flags);
Jeff Brown62c82e42012-09-26 01:30:41 -070046 void nap(long time);
Jeff Brown037c33e2014-04-09 00:31:55 -070047 boolean isInteractive();
Dianne Hackborneb94fa72014-06-03 17:48:12 -070048 boolean isPowerSaveMode();
jackqdyulei455e90a2017-02-09 15:29:16 -080049 PowerSaveState getPowerSaveState(int serviceType);
John Spurlock8d4e6cb2014-09-14 11:10:22 -040050 boolean setPowerSaveMode(boolean mode);
Dianne Hackborn88e98df2015-03-23 13:29:14 -070051 boolean isDeviceIdleMode();
Dianne Hackborn08c47a52015-10-15 12:38:14 -070052 boolean isLightDeviceIdleMode();
Jeff Brown96307042012-07-27 15:51:34 -070053
Dianne Hackbornc428aae2012-10-03 16:38:22 -070054 void reboot(boolean confirm, String reason, boolean wait);
Tony Mantlerb8009fd2016-03-14 15:55:35 -070055 void rebootSafeMode(boolean confirm, boolean wait);
Yusuke Sato705ffd12015-07-21 15:52:11 -070056 void shutdown(boolean confirm, String reason, boolean wait);
Dan Egnor60d87622009-12-16 16:32:58 -080057 void crash(String message);
Salvador Martineza6f7b252017-04-10 10:46:15 -070058 int getLastShutdownReason();
Mike Lockwood237a2992009-09-15 14:42:16 -040059
Jeff Brown96307042012-07-27 15:51:34 -070060 void setStayOnSetting(int val);
Jeff Browne333e672014-10-28 13:48:55 -070061 void boostScreenBrightness(long time);
Julius D'souzab22da802017-06-09 10:27:14 -070062
63 // --- deprecated ---
Bryce Lee84d6c0f2015-03-17 10:43:08 -070064 boolean isScreenBrightnessBoosted();
Jeff Brown96307042012-07-27 15:51:34 -070065
Jeff Brown96307042012-07-27 15:51:34 -070066 // 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}