summaryrefslogtreecommitdiff
path: root/apex
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2021-09-29 17:00:20 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-09-29 17:00:20 +0000
commit8d943ec2b026f56674481b636fdef85f98a057d3 (patch)
tree36c292948988f5a73d8f48e0bdf7d189a254b621 /apex
parente4c00f9abf6899695265fb951e9b2e31223dccd4 (diff)
parent76849b6aeaf4572030077def898ed572b7f5771e (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.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();
}