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

Commit 3dc575f1 authored by Clara Bayarri's avatar Clara Bayarri
Browse files

Lock Work Profile immediately when user presses power button

Bug: 26579952
Change-Id: I6e4e0fc2a4f41c72f0d940006f6ceb17e7852682
parent 9496df19
Loading
Loading
Loading
Loading
+23 −16
Original line number Diff line number Diff line
@@ -758,7 +758,7 @@ public class KeyguardViewMediator extends SystemUI {
                mPendingLock = false;
            }
        }
        doKeyguardLaterLockedForChildProfiles();
        doKeyguardForChildProfilesLocked();
        KeyguardUpdateMonitor.getInstance(mContext).dispatchFinishedGoingToSleep(why);
    }

@@ -781,8 +781,7 @@ public class KeyguardViewMediator extends SystemUI {

        long timeout;

        if ((mLockPatternUtils.isSeparateProfileChallengeEnabled(userId))
                || policyTimeout <= 0) {
        if (policyTimeout <= 0) {
            timeout = lockAfterTimeout;
        } else {
            // From DisplaySettings
@@ -815,13 +814,12 @@ public class KeyguardViewMediator extends SystemUI {
        mAlarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, when, sender);
        if (DEBUG) Log.d(TAG, "setting alarm to turn off keyguard, seq = "
                         + mDelayedShowingSequence);
        doKeyguardLaterLockedForChildProfiles();
        doKeyguardLaterForChildProfilesLocked();
    }

    private void doKeyguardLaterLockedForChildProfiles() {
    private void doKeyguardLaterForChildProfilesLocked() {
        UserManager um = UserManager.get(mContext);
        List<UserInfo> profiles = um.getEnabledProfiles(UserHandle.myUserId());
        if (profiles.size() > 1) {
        for (UserInfo info : profiles) {
            if (mLockPatternUtils.isSeparateProfileChallengeEnabled(info.id)) {
                long userTimeout = getLockTimeout(info.id);
@@ -834,6 +832,15 @@ public class KeyguardViewMediator extends SystemUI {
            }
        }
    }

    private void doKeyguardForChildProfilesLocked() {
        UserManager um = UserManager.get(mContext);
        List<UserInfo> profiles = um.getEnabledProfiles(UserHandle.myUserId());
        for (UserInfo info : profiles) {
            if (mLockPatternUtils.isSeparateProfileChallengeEnabled(info.id)) {
                lockProfile(info.id);
            }
        }
    }

    private void cancelDoKeyguardLaterLocked() {