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

Commit 9cc7ad65 authored by Ricky Wai's avatar Ricky Wai
Browse files

Use userHandle not credentialOwnerUserId to check if it needs to show lock

It is possible that unified keys stored in keystore is not migrated,
while work mode is off and upgrade happens.
At this moment, user not able to turn on work mode as work is not unlocked,
and user cannot unlock work as parent's has a challenge.
mLockPatternUtils.isSecure(userHandle) should be the same as
mLockPatternUtils.isSecure(credentialOwnerUserId), except it is a unified
lock and work profile does not setup a lock/key in keystore yet(migration).

Bug: 28689675
Change-Id: Ia0755caa10ff94a25cf26c3e5907ecd33abd866e
parent 5b40d70c
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -694,9 +694,8 @@ public class UserManagerService extends IUserManager.Stub {

    @Override
    public boolean trySetQuietModeDisabled(int userHandle, IntentSender target) {
        final int credentialOwnerUserId = getCredentialOwnerProfile(userHandle);
        if (StorageManager.isUserKeyUnlocked(userHandle)
                || !mLockPatternUtils.isSecure(credentialOwnerUserId)) {
                || !mLockPatternUtils.isSecure(userHandle)) {
            // if the user is already unlocked, no need to show a profile challenge
            setQuietModeEnabled(userHandle, false);
            return true;