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

Commit 000d88df authored by Rubin Xu's avatar Rubin Xu Committed by android-build-merger
Browse files

Merge "Notify caller when unlockUser() bails out" am: e7df4aa5 am: 030f2bd0

am: 96fa2e24

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


    /**
    /**
@@ -1209,7 +1210,10 @@ class UserController implements Handler.Callback {
            return false;
            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
        // We just unlocked a user, so let's now attempt to unlock any
        // managed profiles under that user.
        // managed profiles under that user.