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];