From 71755c95b620108ab75dd4fd11de528c0c97970c Mon Sep 17 00:00:00 2001 From: Makoto Onuki Date: Tue, 16 Jan 2018 14:15:44 -0800 Subject: [PATCH] Use "except-idle" whitelist for force-app-standby Bug: 71911050 Test: Manual test with: - dumpsys alarm | grep 'Whitelist appids' - dumpsys deviceidle except-idle-whitelist +com.android.chrome - dumpsys deviceidle except-idle-whitelist +com.google.android.dialer - dumpsys deviceidle except-idle-whitelist reset Change-Id: I6d5d8c350bad53a22adf247eb82a0e7f0d664c19 --- .../core/java/com/android/server/DeviceIdleController.java | 6 +++++- .../java/com/android/server/ForceAppStandbyTracker.java | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/DeviceIdleController.java b/services/core/java/com/android/server/DeviceIdleController.java index 985f16d910bc7..a12c85aef85e7 100644 --- a/services/core/java/com/android/server/DeviceIdleController.java +++ b/services/core/java/com/android/server/DeviceIdleController.java @@ -1591,6 +1591,8 @@ public class DeviceIdleController extends SystemService mPowerSaveWhitelistExceptIdleAppIdArray = buildAppIdArray( mPowerSaveWhitelistAppsExceptIdle, mPowerSaveWhitelistUserApps, mPowerSaveWhitelistExceptIdleAppIds); + + passWhiteListToForceAppStandbyTrackerLocked(); } return true; } catch (PackageManager.NameNotFoundException e) { @@ -1608,6 +1610,8 @@ public class DeviceIdleController extends SystemService mPowerSaveWhitelistAppsExceptIdle, mPowerSaveWhitelistUserApps, mPowerSaveWhitelistExceptIdleAppIds); mPowerSaveWhitelistUserAppsExceptIdle.clear(); + + passWhiteListToForceAppStandbyTrackerLocked(); } } } @@ -2572,7 +2576,7 @@ public class DeviceIdleController extends SystemService private void passWhiteListToForceAppStandbyTrackerLocked() { ForceAppStandbyTracker.getInstance(getContext()).setPowerSaveWhitelistAppIds( - mPowerSaveWhitelistAllAppIdArray, + mPowerSaveWhitelistExceptIdleAppIdArray, mTempWhitelistAppIdArray); } diff --git a/services/core/java/com/android/server/ForceAppStandbyTracker.java b/services/core/java/com/android/server/ForceAppStandbyTracker.java index 8776f3a9f6c81..a75a3675f7f98 100644 --- a/services/core/java/com/android/server/ForceAppStandbyTracker.java +++ b/services/core/java/com/android/server/ForceAppStandbyTracker.java @@ -98,6 +98,9 @@ public class ForceAppStandbyTracker { @GuardedBy("mLock") final SparseBooleanArray mForegroundUids = new SparseBooleanArray(); + /** + * System except-idle + user whitelist in the device idle controller. + */ @GuardedBy("mLock") private int[] mPowerWhitelistedAllAppIds = new int[0];