diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2021-09-29 17:00:20 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-09-29 17:00:20 +0000 |
commit | 8d943ec2b026f56674481b636fdef85f98a057d3 (patch) | |
tree | 36c292948988f5a73d8f48e0bdf7d189a254b621 /apex | |
parent | e4c00f9abf6899695265fb951e9b2e31223dccd4 (diff) | |
parent | 76849b6aeaf4572030077def898ed572b7f5771e (diff) |
Merge "Partial revert "Wait for unlock to start jobs."" into sc-qpr1-dev am: 76849b6aea
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15925291
Change-Id: I1e9d744bacd798e3f4d19799c0501acfef5e269a
Diffstat (limited to 'apex')
-rw-r--r-- | apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java | 16 |
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(); } |