summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Aaron Liu <aaronjli@google.com> 2022-04-14 20:31:01 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-04-14 20:31:01 +0000
commit7fa9ff82b389ce3c0a34b5e336f8563d1fb41cc3 (patch)
treeca2cf0512601a12da92607b46fd1826650ff7385
parent3b952a4a1cf5dfe1b57e3cda3f99d9301d309692 (diff)
parentf2d3acd1561158723ddc5e98755c0db59e89e370 (diff)
Merge "[Bouncer] Update userswitcher upon reset" into tm-dev
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java11
-rw-r--r--packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerTest.java4
2 files changed, 11 insertions, 4 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java
index 3103219d8978..53d7b8cee3be 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java
@@ -700,6 +700,7 @@ public class KeyguardSecurityContainer extends FrameLayout {
}
public void reset() {
+ mViewMode.reset();
mDisappearAnimRunning = false;
}
@@ -798,9 +799,6 @@ public class KeyguardSecurityContainer extends FrameLayout {
mUserSwitcherViewGroup = mView.findViewById(R.id.keyguard_bouncer_user_switcher);
}
- Drawable userIcon = findUserIcon(KeyguardUpdateMonitor.getCurrentUser());
- ((ImageView) mView.findViewById(R.id.user_icon)).setImageDrawable(userIcon);
-
updateSecurityViewLocation();
mUserSwitcher = mView.findViewById(R.id.user_switcher_header);
@@ -813,6 +811,7 @@ public class KeyguardSecurityContainer extends FrameLayout {
mPopup.dismiss();
mPopup = null;
}
+ setupUserSwitcher();
}
private Drawable findUserIcon(int userId) {
@@ -858,6 +857,12 @@ public class KeyguardSecurityContainer extends FrameLayout {
private void setupUserSwitcher() {
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());
ViewGroup anchor = mView.findViewById(R.id.user_switcher_anchor);
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerTest.java
index 14c903c86b62..ba058c71a7f4 100644
--- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerTest.java
+++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerTest.java
@@ -291,7 +291,9 @@ public class KeyguardSecurityContainerTest extends SysuiTestCase {
@Test
public void testTwoOrMoreUsersDoesAllowDropDown() {
// 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
setupUserSwitcher();