diff options
author | Sudheer Shanka <sudheersai@google.com> | 2020-07-16 13:48:00 -0700 |
---|---|---|
committer | Sudheer Shanka <sudheersai@google.com> | 2020-07-16 23:48:32 -0700 |
commit | 67eaf157db28e5338c414bf78d18fe0726e92b0a (patch) | |
tree | 777ce3454f03871e4eda2eb157117b40a8724ae1 /apex/jobscheduler | |
parent | 4eca322f615041b4fe56a4a6701553ac074f3a22 (diff) |
Check app idle states and inform listeners on power-save-wl change.
Bug: 161477606
Test: atest ./hostsidetests/net/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java
Change-Id: I0bb436f4c45b135c8e9c873c9073ef4a505192f7
Diffstat (limited to 'apex/jobscheduler')
-rw-r--r-- | apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java b/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java index f36084386f48..0cadbfd23dba 100644 --- a/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java +++ b/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java @@ -456,7 +456,7 @@ public class AppStandbyController implements AppStandbyInternal { mSystemServicesReady = true; // Offload to handler thread to avoid boot time impact. - mHandler.post(mInjector::updatePowerWhitelistCache); + mHandler.post(AppStandbyController.this::updatePowerWhitelistCache); boolean userFileExists; synchronized (mAppIdleLock) { @@ -1684,6 +1684,14 @@ public class AppStandbyController implements AppStandbyInternal { } } + private void updatePowerWhitelistCache() { + if (mInjector.getBootPhase() < PHASE_SYSTEM_SERVICES_READY) { + return; + } + mInjector.updatePowerWhitelistCache(); + postCheckIdleStates(UserHandle.USER_ALL); + } + private class PackageReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { @@ -1999,10 +2007,7 @@ public class AppStandbyController implements AppStandbyInternal { } } - private void updatePowerWhitelistCache() { - if (mBootPhase < PHASE_SYSTEM_SERVICES_READY) { - return; - } + void updatePowerWhitelistCache() { try { // Don't call out to DeviceIdleController with the lock held. final String[] whitelistedPkgs = @@ -2204,7 +2209,7 @@ public class AppStandbyController implements AppStandbyInternal { break; case PowerManager.ACTION_POWER_SAVE_WHITELIST_CHANGED: if (mSystemServicesReady) { - mHandler.post(mInjector::updatePowerWhitelistCache); + mHandler.post(AppStandbyController.this::updatePowerWhitelistCache); } break; } |