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
This commit is contained in:
Makoto Onuki
2018-01-16 14:15:44 -08:00
parent 03863ba526
commit 71755c95b6
2 changed files with 8 additions and 1 deletions

View File

@@ -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);
}

View File

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