From dcf72f230c739ba0cd11bb173b72de239792b1dc Mon Sep 17 00:00:00 2001 From: Jordan Demeulenaere Date: Thu, 21 Apr 2022 14:36:17 +0200 Subject: [PATCH] Fix the multi-user keyguard dialog animation This CL fixes the animation that is run when clicking the user switcher avatar on the keyguard, which is then expanded into a dialog. See b/225000960#comment10 for before/after videos. Fixes: 225000960 Bug: 225000960 Test: Manual Change-Id: I1a97ddf9c2ba9387b7ccccb14eb7e5e83e089dec --- .../keyguard_framed_avatar_background.xml | 22 +++++++++++++ .../res/layout/keyguard_qs_user_switch.xml | 31 ++++++++++++------- .../KeyguardQsUserSwitchController.java | 5 ++- 3 files changed, 45 insertions(+), 13 deletions(-) create mode 100644 packages/SystemUI/res/drawable/keyguard_framed_avatar_background.xml diff --git a/packages/SystemUI/res/drawable/keyguard_framed_avatar_background.xml b/packages/SystemUI/res/drawable/keyguard_framed_avatar_background.xml new file mode 100644 index 0000000000000..a461bf836d616 --- /dev/null +++ b/packages/SystemUI/res/drawable/keyguard_framed_avatar_background.xml @@ -0,0 +1,22 @@ + + + + + + \ No newline at end of file diff --git a/packages/SystemUI/res/layout/keyguard_qs_user_switch.xml b/packages/SystemUI/res/layout/keyguard_qs_user_switch.xml index 9cf09ff328c47..6f33623084842 100644 --- a/packages/SystemUI/res/layout/keyguard_qs_user_switch.xml +++ b/packages/SystemUI/res/layout/keyguard_qs_user_switch.xml @@ -22,18 +22,25 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="end"> - + - + android:background="@drawable/keyguard_framed_avatar_background"> + + + \ No newline at end of file diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java index 2a9048a6eb739..169347a5ac1a3 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardQsUserSwitchController.java @@ -78,6 +78,7 @@ public class KeyguardQsUserSwitchController extends ViewController private final UiEventLogger mUiEventLogger; @VisibleForTesting UserAvatarView mUserAvatarView; + private View mUserAvatarViewWithBackground; UserSwitcherController.UserRecord mCurrentUser; private boolean mIsKeyguardShowing; @@ -167,6 +168,8 @@ public class KeyguardQsUserSwitchController extends ViewController super.onInit(); if (DEBUG) Log.d(TAG, "onInit"); mUserAvatarView = mView.findViewById(R.id.kg_multi_user_avatar); + mUserAvatarViewWithBackground = mView.findViewById( + R.id.kg_multi_user_avatar_with_background); mAdapter = new UserSwitcherController.BaseUserAdapter(mUserSwitcherController) { @Override public View getView(int position, View convertView, ViewGroup parent) { @@ -186,7 +189,7 @@ public class KeyguardQsUserSwitchController extends ViewController mUiEventLogger.log( LockscreenGestureLogger.LockscreenUiEvent.LOCKSCREEN_SWITCH_USER_TAP); - mUserSwitchDialogController.showDialog(mView); + mUserSwitchDialogController.showDialog(mUserAvatarViewWithBackground); }); mUserAvatarView.setAccessibilityDelegate(new View.AccessibilityDelegate() {