Merge "Partial revert "Wait for unlock to start jobs."" into sc-qpr1-dev am: 76849b6aea am: 653e6d8108

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15925291

Change-Id: I799b56e2bff31d0b3148e1368ba6c9085e62f790
This commit is contained in:
TreeHugger Robot
2021-09-29 17:12:51 +00:00
committed by Automerger Merge Worker

View File

@@ -1008,13 +1008,21 @@ public class JobSchedulerService extends com.android.server.SystemService
} }
@Override @Override
public void onUserUnlocked(@NonNull TargetUser user) { public void onUserStarting(@NonNull TargetUser user) {
synchronized (mLock) { 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()); 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(); mHandler.obtainMessage(MSG_CHECK_JOB).sendToTarget();
} }