summaryrefslogtreecommitdiff
path: root/core/java/android/os/PowerManager.java
diff options
context:
space:
mode:
authorMakoto Onuki <omakoto@google.com>2019-08-23 10:18:28 -0700
committerMakoto Onuki <omakoto@google.com>2019-08-23 16:03:30 -0700
commit52c24b377b584315071a70f4fb975af488249286 (patch)
tree39527f311e2540249c25661f169fd65693c17149 /core/java/android/os/PowerManager.java
parent903102c43014cccea9d0365a0700bd617faf2453 (diff)
Move DeviceIdle to the JS apex
Test: atest cts/tests/tests/batterysaving/src/android/os/cts/deviceidle/DeviceIdleTest.java Bug: 137763703 Change-Id: I836350c09f45f95afbf90b562ab1ceed75526498
Diffstat (limited to 'core/java/android/os/PowerManager.java')
-rw-r--r--core/java/android/os/PowerManager.java21
1 files changed, 9 insertions, 12 deletions
diff --git a/core/java/android/os/PowerManager.java b/core/java/android/os/PowerManager.java
index 7ea26210dc0c..794d62e8fd6c 100644
--- a/core/java/android/os/PowerManager.java
+++ b/core/java/android/os/PowerManager.java
@@ -37,6 +37,7 @@ import com.android.internal.util.Preconditions;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.util.concurrent.Executor;
+import java.util.function.Function;
/**
* This class gives you control of the power state of the device.
@@ -831,7 +832,8 @@ public final class PowerManager {
private final ArrayMap<OnThermalStatusChangedListener, IThermalStatusListener>
mListenerMap = new ArrayMap<>();
- IDeviceIdleController mIDeviceIdleController;
+ private static Function<String, Boolean> sIsIgnoringBatteryOptimizationsCallback =
+ (packageName) -> false;
/**
* {@hide}
@@ -1660,17 +1662,12 @@ public final class PowerManager {
* {@link android.provider.Settings#ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS}.
*/
public boolean isIgnoringBatteryOptimizations(String packageName) {
- synchronized (this) {
- if (mIDeviceIdleController == null) {
- mIDeviceIdleController = IDeviceIdleController.Stub.asInterface(
- ServiceManager.getService(Context.DEVICE_IDLE_CONTROLLER));
- }
- }
- try {
- return mIDeviceIdleController.isPowerSaveWhitelistApp(packageName);
- } catch (RemoteException e) {
- throw e.rethrowFromSystemServer();
- }
+ return sIsIgnoringBatteryOptimizationsCallback.apply(packageName);
+ }
+
+ /** @hide */
+ public static void setIsIgnoringBatteryOptimizationsCallback(Function<String, Boolean> f) {
+ sIsIgnoringBatteryOptimizationsCallback = f;
}
/**