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

Commit bdf60691 authored by Peter Kalauskas's avatar Peter Kalauskas Committed by Automerger Merge Worker
Browse files

Merge "Respect "Don't add users on lock screen" regardless of lockscreeen...

Merge "Respect "Don't add users on lock screen" regardless of lockscreeen secure state." into sc-dev am: ea281597

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13502600

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I226529e8a3f48fed73ebb1bf316d7d6d4f7747cf
parents 0a68601a ea281597
Loading
Loading
Loading
Loading
+16 −31
Original line number Diff line number Diff line
@@ -113,7 +113,9 @@ public class UserSwitcherController implements Dumpable {
    private int mLastNonGuestUser = UserHandle.USER_SYSTEM;
    private boolean mResumeUserOnGuestLogout = true;
    private boolean mSimpleUserSwitcher;
    private boolean mAddUsersWhenLocked;
    // When false, there won't be any visual affordance to add a new user from the keyguard even if
    // the user is unlocked
    private boolean mAddUsersFromLockScreen;
    private boolean mPauseRefreshUsers;
    private int mSecondaryUser = UserHandle.USER_NULL;
    private Intent mSecondaryUserServiceIntent;
@@ -204,7 +206,7 @@ public class UserSwitcherController implements Dumpable {
        }
        mForcePictureLoadForUserId.clear();

        final boolean addUsersWhenLocked = mAddUsersWhenLocked;
        final boolean addUsersWhenLocked = mAddUsersFromLockScreen;
        new AsyncTask<SparseArray<Bitmap>, Void, ArrayList<UserRecord>>() {
            @SuppressWarnings("unchecked")
            @Override
@@ -554,7 +556,7 @@ public class UserSwitcherController implements Dumpable {
    private final ContentObserver mSettingsObserver = new ContentObserver(new Handler()) {
        public void onChange(boolean selfChange) {
            mSimpleUserSwitcher = shouldUseSimpleUserSwitcher();
            mAddUsersWhenLocked = Settings.Global.getInt(mContext.getContentResolver(),
            mAddUsersFromLockScreen = Settings.Global.getInt(mContext.getContentResolver(),
                    Settings.Global.ADD_USERS_WHEN_LOCKED, 0) != 0;
            refreshUsers(UserHandle.USER_NULL);
        };
@@ -610,43 +612,26 @@ public class UserSwitcherController implements Dumpable {
        }

        public int getUserCount() {
            boolean secureKeyguardShowing = mKeyguardStateController.isShowing()
                    && mKeyguardStateController.isMethodSecure()
                    && !mKeyguardStateController.canDismissLockScreen();
            if (!secureKeyguardShowing) {
                return getUsers().size();
            }
            // The lock screen is secure and showing. Filter out restricted records.
            final int userSize = getUsers().size();
            int count = 0;
            for (int i = 0; i < userSize; i++) {
                if (getUsers().get(i).isGuest) continue;
                if (getUsers().get(i).isRestricted) {
                    break;
                } else {
                    count++;
                }
            }
            return count;
            return countUsers(false);
        }

        @Override
        public int getCount() {
            boolean secureKeyguardShowing = mKeyguardStateController.isShowing()
                    && mKeyguardStateController.isMethodSecure()
                    && !mKeyguardStateController.canDismissLockScreen();
            if (!secureKeyguardShowing) {
                return getUsers().size();
            return countUsers(true);
        }
            // The lock screen is secure and showing. Filter out restricted records.

        private int countUsers(boolean includeGuest) {
            boolean keyguardShowing = mKeyguardStateController.isShowing();
            final int userSize = getUsers().size();
            int count = 0;
            for (int i = 0; i < userSize; i++) {
                if (getUsers().get(i).isRestricted) {
                if (getUsers().get(i).isGuest && !includeGuest) {
                    continue;
                }
                if (getUsers().get(i).isRestricted && keyguardShowing) {
                    break;
                } else {
                    count++;
                }
                count++;
            }
            return count;
        }