1 /**
2  * Copyright (c) 2015, The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.os;
18 
19 import android.os.IMaintenanceActivityListener;
20 import android.os.UserHandle;
21 
22 /** @hide */
23 interface IDeviceIdleController {
addPowerSaveWhitelistApp(String name)24     void addPowerSaveWhitelistApp(String name);
removePowerSaveWhitelistApp(String name)25     void removePowerSaveWhitelistApp(String name);
26     /* Removes an app from the system whitelist. Calling restoreSystemPowerWhitelistApp will add
27     the app back into the system whitelist */
removeSystemPowerWhitelistApp(String name)28     void removeSystemPowerWhitelistApp(String name);
restoreSystemPowerWhitelistApp(String name)29     void restoreSystemPowerWhitelistApp(String name);
getRemovedSystemPowerWhitelistApps()30     String[] getRemovedSystemPowerWhitelistApps();
getSystemPowerWhitelistExceptIdle()31     String[] getSystemPowerWhitelistExceptIdle();
getSystemPowerWhitelist()32     String[] getSystemPowerWhitelist();
getUserPowerWhitelist()33     String[] getUserPowerWhitelist();
34     @UnsupportedAppUsage
getFullPowerWhitelistExceptIdle()35     String[] getFullPowerWhitelistExceptIdle();
getFullPowerWhitelist()36     String[] getFullPowerWhitelist();
getAppIdWhitelistExceptIdle()37     int[] getAppIdWhitelistExceptIdle();
getAppIdWhitelist()38     int[] getAppIdWhitelist();
getAppIdUserWhitelist()39     int[] getAppIdUserWhitelist();
40     @UnsupportedAppUsage
getAppIdTempWhitelist()41     int[] getAppIdTempWhitelist();
isPowerSaveWhitelistExceptIdleApp(String name)42     boolean isPowerSaveWhitelistExceptIdleApp(String name);
isPowerSaveWhitelistApp(String name)43     boolean isPowerSaveWhitelistApp(String name);
44     @UnsupportedAppUsage
addPowerSaveTempWhitelistApp(String name, long duration, int userId, String reason)45     void addPowerSaveTempWhitelistApp(String name, long duration, int userId, String reason);
addPowerSaveTempWhitelistAppForMms(String name, int userId, String reason)46     long addPowerSaveTempWhitelistAppForMms(String name, int userId, String reason);
addPowerSaveTempWhitelistAppForSms(String name, int userId, String reason)47     long addPowerSaveTempWhitelistAppForSms(String name, int userId, String reason);
exitIdle(String reason)48     void exitIdle(String reason);
registerMaintenanceActivityListener(IMaintenanceActivityListener listener)49     boolean registerMaintenanceActivityListener(IMaintenanceActivityListener listener);
unregisterMaintenanceActivityListener(IMaintenanceActivityListener listener)50     void unregisterMaintenanceActivityListener(IMaintenanceActivityListener listener);
setPreIdleTimeoutMode(int Mode)51     int setPreIdleTimeoutMode(int Mode);
resetPreIdleTimeoutMode()52     void resetPreIdleTimeoutMode();
53 }
54