Merge "Keyguard should be dismissed if there is no trusted device." into qt-qpr1-dev

This commit is contained in:
Jovana Knezevic
2019-11-22 16:50:18 +00:00
committed by Android (Google) Code Review

View File

@@ -45,8 +45,6 @@ import com.android.systemui.statusbar.car.UserGridRecyclerView.UserRecord;
*/ */
public class FullscreenUserSwitcher { public class FullscreenUserSwitcher {
private static final String TAG = FullscreenUserSwitcher.class.getSimpleName(); 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 UserGridRecyclerView mUserGridView;
private final View mParent; private final View mParent;
private final int mShortAnimDuration; private final int mShortAnimDuration;
@@ -118,26 +116,17 @@ public class FullscreenUserSwitcher {
/* isStartGuestSession= */ false, /* isStartGuestSession= */ false,
/* isAddUser= */ false, /* isAddUser= */ false,
/* isForeground= */ true); /* isForeground= */ true);
// For single user without trusted device, hide the user switcher.
if (!hasMultipleUsers() && !hasTrustedDevice(initialUser)) { // If the initial user has trusted device, display the unlock dialog on the keyguard.
dismissUserSwitcher();
return;
}
// Show unlock dialog for initial user
if (hasTrustedDevice(initialUser)) { if (hasTrustedDevice(initialUser)) {
mUnlockDialogHelper.showUnlockDialogAfterDelay(initialUser, mUnlockDialogHelper.showUnlockDialogAfterDelay(initialUser,
mOnHideListener); 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. * Makes user grid visible.
*/ */