summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <treehugger-gerrit@google.com> 2021-10-14 16:43:16 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2021-10-14 16:43:16 +0000
commit214a74b728bbc1046935c20704db061cc15c0e05 (patch)
tree662b1bf548454f9b4996fe1ed5dca0667d555023
parentc3c74384e21e0841d4b238d26d43134f1509e30d (diff)
parent14841f18ff8fa9d342211f47fada7db1f0c6b0a8 (diff)
Merge "Partial revert "Wait for unlock to start jobs.""
-rw-r--r--apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
index 591e8ba859fc..4becc6b7c44a 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java
@@ -1008,13 +1008,21 @@ public class JobSchedulerService extends com.android.server.SystemService
}
@Override
- public void onUserUnlocked(@NonNull TargetUser user) {
+ public void onUserStarting(@NonNull TargetUser user) {
synchronized (mLock) {
- // Note that the user has started after its unlocked instead of when the user
- // actually starts because the storage won't be decrypted until unlock.
mStartedUsers = ArrayUtils.appendInt(mStartedUsers, user.getUserIdentifier());
}
- // Let's kick any outstanding jobs for this user.
+ // The user is starting but credential encrypted storage is still locked.
+ // Only direct-boot-aware jobs can safely run.
+ // Let's kick off any eligible jobs for this user.
+ mHandler.obtainMessage(MSG_CHECK_JOB).sendToTarget();
+ }
+
+ @Override
+ public void onUserUnlocked(@NonNull TargetUser user) {
+ // The user is fully unlocked and credential encrypted storage is now decrypted.
+ // Direct-boot-UNaware jobs can now safely run.
+ // Let's kick off any outstanding jobs for this user.
mHandler.obtainMessage(MSG_CHECK_JOB).sendToTarget();
}