From 4824c7c35e74cd0357222a7bbae292edfbe05a1a 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 Merged-in: I9e3c1138813ba40f0c6b2e8cba057b99ff6fb040 --- .../statusbar/car/FullscreenUserSwitcher.java | 21 +++++-------------- 1 file changed, 5 insertions(+), 16 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 0ebfa84a13f1b..f74dbe925349b 100644 --- a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/FullscreenUserSwitcher.java +++ b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/FullscreenUserSwitcher.java @@ -45,8 +45,6 @@ import com.android.systemui.statusbar.car.UserGridRecyclerView.UserRecord; */ 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 UserGridRecyclerView mUserGridView; private final View mParent; private final int mShortAnimDuration; @@ -118,26 +116,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. */