Avoid calling postOneTimeCheckIdleStates on boot.

When we used Settings flags, we didn't call postOneTimeCheckIdleStates()
on boot. Remove it from the boot path when using DeviceConfig to avoid
unnecessary work.

Bug: 172193270
Test: atest AppStandbyControllerTests
Change-Id: I6b05eb4a6565e49c051d3a2ca41986d873acf4e8
This commit is contained in:
Kweku Adams
2020-11-12 19:04:28 -08:00
parent 4cfdb5cce5
commit 425317aeea

View File

@@ -2390,7 +2390,8 @@ public class AppStandbyController implements AppStandbyInternal {
false, this);
mInjector.registerDeviceConfigPropertiesChangedListener(this);
// Load all the constants.
onPropertiesChanged(mInjector.getDeviceConfigProperties());
// postOneTimeCheckIdleStates() doesn't need to be called on boot.
processProperties(mInjector.getDeviceConfigProperties());
updateSettings();
}
@@ -2402,6 +2403,11 @@ public class AppStandbyController implements AppStandbyInternal {
@Override
public void onPropertiesChanged(DeviceConfig.Properties properties) {
processProperties(properties);
postOneTimeCheckIdleStates();
}
private void processProperties(DeviceConfig.Properties properties) {
boolean timeThresholdsUpdated = false;
synchronized (mAppIdleLock) {
for (String name : properties.getKeyset()) {
@@ -2482,7 +2488,6 @@ public class AppStandbyController implements AppStandbyInternal {
}
}
}
postOneTimeCheckIdleStates();
}
private void updateTimeThresholds() {