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.UserHandle;
20 
21 /** @hide */
22 interface IDeviceIdleController {
addPowerSaveWhitelistApp(String name)23     void addPowerSaveWhitelistApp(String name);
addPowerSaveWhitelistApps(in List<String> packageNames)24     int addPowerSaveWhitelistApps(in List<String> packageNames);
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);
whitelistAppTemporarily(String name, int userId, String reason)48     long whitelistAppTemporarily(String name, int userId, String reason);
exitIdle(String reason)49     void exitIdle(String reason);
setPreIdleTimeoutMode(int Mode)50     int setPreIdleTimeoutMode(int Mode);
resetPreIdleTimeoutMode()51     void resetPreIdleTimeoutMode();
52 }
53