From ff3328346db3938e08f84b62e42627dd2106149b Mon Sep 17 00:00:00 2001 From: jovanak Date: Tue, 19 Nov 2019 07:58:22 -0800 Subject: [PATCH] Keyguard should be dismissed if there is no trusted device. The only times the keyguard is shown are: 1. To display unlock dialog when the initial user has a trusted device. 2. To display user switcher if the user clicks "Cancel" on the bouncer and wants to switch to a different user. Fixes: 140766764 Test: manual Change-Id: I9e3c1138813ba40f0c6b2e8cba057b99ff6fb040 --- .../statusbar/car/FullscreenUserSwitcher.java | 22 +++++-------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/FullscreenUserSwitcher.java b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/FullscreenUserSwitcher.java index b188dc3949f2b..45430197fdd89 100644 --- a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/FullscreenUserSwitcher.java +++ b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/FullscreenUserSwitcher.java @@ -50,9 +50,6 @@ import javax.inject.Singleton; @Singleton public class FullscreenUserSwitcher { private static final String TAG = FullscreenUserSwitcher.class.getSimpleName(); - // Because user 0 is headless, user count for single user is 2 - private static final int NUMBER_OF_BACKGROUND_USERS = 1; - private final Context mContext; private final Resources mResources; private final UserManager mUserManager; @@ -137,26 +134,17 @@ public class FullscreenUserSwitcher { /* isStartGuestSession= */ false, /* isAddUser= */ false, /* isForeground= */ true); - // For single user without trusted device, hide the user switcher. - if (!hasMultipleUsers() && !hasTrustedDevice(initialUser)) { - dismissUserSwitcher(); - return; - } - // Show unlock dialog for initial user + + // If the initial user has trusted device, display the unlock dialog on the keyguard. if (hasTrustedDevice(initialUser)) { mUnlockDialogHelper.showUnlockDialogAfterDelay(initialUser, mOnHideListener); + } else { + // If no trusted device, dismiss the keyguard. + dismissUserSwitcher(); } } - /** - * Check if there is only one possible user to login in. - * In a Multi-User system there is always one background user (user 0) - */ - private boolean hasMultipleUsers() { - return mUserManager.getUserCount() > NUMBER_OF_BACKGROUND_USERS + 1; - } - /** * Makes user grid visible. */