Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 030f2bd0 authored by Rubin Xu's avatar Rubin Xu Committed by android-build-merger
Browse files

Merge "Notify caller when unlockUser() bails out"

am: e7df4aa5

Change-Id: I095bd59c0c151fe535f66030240a2ff85b9b4bee
parents 7baa2328 e7df4aa5
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -383,14 +383,14 @@ class UserController implements Handler.Callback {
     * Step from {@link UserState#STATE_RUNNING_LOCKED} to
     * {@link UserState#STATE_RUNNING_UNLOCKING}.
     */
    private void finishUserUnlocking(final UserState uss) {
    private boolean finishUserUnlocking(final UserState uss) {
        final int userId = uss.mHandle.getIdentifier();
        // Only keep marching forward if user is actually unlocked
        if (!StorageManager.isUserKeyUnlocked(userId)) return;
        if (!StorageManager.isUserKeyUnlocked(userId)) return false;
        synchronized (mLock) {
            // Do not proceed if unexpected state or a stale user
            if (mStartedUsers.get(userId) != uss || uss.state != STATE_RUNNING_LOCKED) {
                return;
                return false;
            }
        }
        uss.mUnlockProgress.start();
@@ -421,6 +421,7 @@ class UserController implements Handler.Callback {
            mHandler.obtainMessage(SYSTEM_USER_UNLOCK_MSG, userId, 0, uss)
                    .sendToTarget();
        });
        return true;
    }

    /**
@@ -1180,7 +1181,10 @@ class UserController implements Handler.Callback {
            return false;
        }

        finishUserUnlocking(uss);
        if (!finishUserUnlocking(uss)) {
            notifyFinished(userId, listener);
            return false;
        }

        // We just unlocked a user, so let's now attempt to unlock any
        // managed profiles under that user.