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

Commit 39413996 authored by Ricky Wai's avatar Ricky Wai Committed by android-build-merger
Browse files

Merge "Unlock work profile storage even work mode is off" into nyc-dev am:...

Merge "Unlock work profile storage even work mode is off" into nyc-dev am: f420c413 am: efc3838c
am: 316abe21

* commit '316abe21':
  Unlock work profile storage even work mode is off

Change-Id: I2c5bf82aef3e130781acf0a25991822c1bb72d9f
parents bacc1d40 316abe21
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -747,12 +747,6 @@ public class LockSettingsService extends ILockSettings.Stub {
            }
        };

        // Turn off quite mode if it's enabled, only managed profile can return true for now, it
        // will return false if it is not a managed profile.
        if (mUserManager.isQuietModeEnabled(new UserHandle(userId))) {
            mUserManager.setQuietModeEnabled(userId, false);
        }

        try {
            ActivityManagerNative.getDefault().unlockUser(userId, token, secret, listener);
        } catch (RemoteException e) {
@@ -771,7 +765,6 @@ public class LockSettingsService extends ILockSettings.Stub {
                    // Unlock managed profile with unified lock
                    if (pi.isManagedProfile()
                            && !mLockPatternUtils.isSeparateProfileChallengeEnabled(pi.id)
                            && !pi.isQuietModeEnabled()
                            && mStorage.hasChildProfileLock(pi.id)) {
                        unlockChildProfile(pi.id);
                    }
+10 −12
Original line number Diff line number Diff line
@@ -939,27 +939,25 @@ final class UserController {
    boolean unlockUserCleared(final int userId, byte[] token, byte[] secret,
            IProgressListener listener) {
        synchronized (mService) {
            // Bail if user isn't actually running, otherwise register the given
            // listener to watch for unlock progress
            final UserState uss = mStartedUsers.get(userId);
            if (uss == null) {
                notifyFinished(userId, listener);
                return false;
            } else {
                uss.mUnlockProgress.addListener(listener);
            }

            // TODO Move this block outside of synchronized if it causes lock contention
            if (!StorageManager.isUserKeyUnlocked(userId)) {
                final UserInfo userInfo = getUserInfo(userId);
                final IMountService mountService = getMountService();
                try {
                    // We always want to unlock user storage, even user is not started yet
                    mountService.unlockUserKey(userId, userInfo.serialNumber, token, secret);
                } catch (RemoteException | RuntimeException e) {
                    Slog.w(TAG, "Failed to unlock: " + e.getMessage());
                }
            }
            // Bail if user isn't actually running, otherwise register the given
            // listener to watch for unlock progress
            final UserState uss = mStartedUsers.get(userId);
            if (uss == null) {
                notifyFinished(userId, listener);
                return false;
                }
            } else {
                uss.mUnlockProgress.addListener(listener);
            }

            finishUserUnlocking(uss);