diff options
| author | Makoto Onuki <omakoto@google.com> | 2019-08-23 10:18:28 -0700 |
|---|---|---|
| committer | Makoto Onuki <omakoto@google.com> | 2019-08-23 16:03:30 -0700 |
| commit | 52c24b377b584315071a70f4fb975af488249286 (patch) | |
| tree | 39527f311e2540249c25661f169fd65693c17149 /core/java/android/os/PowerManager.java | |
| parent | 903102c43014cccea9d0365a0700bd617faf2453 (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.java | 21 |
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; } /** |
