summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKweku Adams <kwekua@google.com>2020-06-23 10:36:12 -0700
committerKweku Adams <kwekua@google.com>2020-06-23 10:49:36 -0700
commitf29545d1142573b33fe8285098a15db3ad0d9da9 (patch)
tree246d35fa8333cb9fccbcdb2e11f252db9f37c1b0
parentdffcd5fe7a79ed9db1fc0879bea2faa458c26adf (diff)
Postpone headless app caching to after boot.
Moving the headless app cache loading to the background thread still affects boot time. Moving the loading to after boot has completed means that it will no longer impact boot time. Bug: 159057406 Bug: 159434503 Test: atest CtsUsageStatsTestCases:UsageStatsTest Test: atest FrameworksServicesTests:AppIdleHistoryTests Test: atest FrameworksServicesTests:AppStandbyControllerTests Test: Confirm SystemServerTiming_OnBootPhase_500_com.android.server.BinderCallsStatsService$LifeCycle timing decreases Change-Id: Ib79939ed15f9886d4fea02f7eda172b8cc82b674
-rw-r--r--apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java7
1 files changed, 4 insertions, 3 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 687b1d4e0bde..f36084386f48 100644
--- a/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java
+++ b/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java
@@ -463,9 +463,6 @@ public class AppStandbyController implements AppStandbyInternal {
userFileExists = mAppIdleHistory.userFileExists(UserHandle.USER_SYSTEM);
}
- // Offload to handler thread to avoid boottime impact.
- mHandler.post(this::loadHeadlessSystemAppCache);
-
if (mPendingInitializeDefaults || !userFileExists) {
initializeDefaultsForSystemApps(UserHandle.USER_SYSTEM);
}
@@ -475,6 +472,10 @@ public class AppStandbyController implements AppStandbyInternal {
}
} else if (phase == PHASE_BOOT_COMPLETED) {
setChargingState(mInjector.isCharging());
+
+ // Offload to handler thread after boot completed to avoid boot time impact. This means
+ // that headless system apps may be put in a lower bucket until boot has completed.
+ mHandler.post(this::loadHeadlessSystemAppCache);
}
}