Merge "[Bouncer] Update userswitcher upon reset" into tm-dev am: 7fa9ff82b3

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

Change-Id: I0a342d40465847bec5edd26e85bf1a5891aa8a93
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Aaron Liu
2022-04-14 20:44:28 +00:00
committed by Automerger Merge Worker
2 changed files with 11 additions and 4 deletions

View File

@@ -700,6 +700,7 @@ public class KeyguardSecurityContainer extends FrameLayout {
} }
public void reset() { public void reset() {
mViewMode.reset();
mDisappearAnimRunning = false; mDisappearAnimRunning = false;
} }
@@ -798,9 +799,6 @@ public class KeyguardSecurityContainer extends FrameLayout {
mUserSwitcherViewGroup = mView.findViewById(R.id.keyguard_bouncer_user_switcher); mUserSwitcherViewGroup = mView.findViewById(R.id.keyguard_bouncer_user_switcher);
} }
Drawable userIcon = findUserIcon(KeyguardUpdateMonitor.getCurrentUser());
((ImageView) mView.findViewById(R.id.user_icon)).setImageDrawable(userIcon);
updateSecurityViewLocation(); updateSecurityViewLocation();
mUserSwitcher = mView.findViewById(R.id.user_switcher_header); mUserSwitcher = mView.findViewById(R.id.user_switcher_header);
@@ -813,6 +811,7 @@ public class KeyguardSecurityContainer extends FrameLayout {
mPopup.dismiss(); mPopup.dismiss();
mPopup = null; mPopup = null;
} }
setupUserSwitcher();
} }
private Drawable findUserIcon(int userId) { private Drawable findUserIcon(int userId) {
@@ -858,6 +857,12 @@ public class KeyguardSecurityContainer extends FrameLayout {
private void setupUserSwitcher() { private void setupUserSwitcher() {
final UserRecord currentUser = mUserSwitcherController.getCurrentUserRecord(); final UserRecord currentUser = mUserSwitcherController.getCurrentUserRecord();
if (currentUser == null) {
Log.wtf(TAG, "Current user in user switcher is null.");
return;
}
Drawable userIcon = findUserIcon(currentUser.info.id);
((ImageView) mView.findViewById(R.id.user_icon)).setImageDrawable(userIcon);
mUserSwitcher.setText(mUserSwitcherController.getCurrentUserName()); mUserSwitcher.setText(mUserSwitcherController.getCurrentUserName());
ViewGroup anchor = mView.findViewById(R.id.user_switcher_anchor); ViewGroup anchor = mView.findViewById(R.id.user_switcher_anchor);

View File

@@ -291,7 +291,9 @@ public class KeyguardSecurityContainerTest extends SysuiTestCase {
@Test @Test
public void testTwoOrMoreUsersDoesAllowDropDown() { public void testTwoOrMoreUsersDoesAllowDropDown() {
// GIVEN one user has been setup // GIVEN one user has been setup
when(mUserSwitcherController.getUsers()).thenReturn(buildUserRecords(2)); ArrayList<UserRecord> records = buildUserRecords(2);
when(mUserSwitcherController.getCurrentUserRecord()).thenReturn(records.get(0));
when(mUserSwitcherController.getUsers()).thenReturn(records);
// WHEN UserSwitcherViewMode is initialized // WHEN UserSwitcherViewMode is initialized
setupUserSwitcher(); setupUserSwitcher();