diff options
| author | 2021-12-10 09:17:25 -0500 | |
|---|---|---|
| committer | 2021-12-10 18:36:52 +0000 | |
| commit | da2765239ba143ab98156021b7c6fa7b3b15d686 (patch) | |
| tree | 34e514d4b4005eee7dd1660b2cf7967a7ed4d519 | |
| parent | ac5575654b0f0826418b754063b1e06e079c1ee2 (diff) | |
Bouncer User Switcher UX tweaks
Remove header from drop down. Position closer to the center. Fix
spacing to match latest specs.
Bug: 206826027
Test: atest KeyguardSecurityContainerControllerTest KeyguardSecurityContainerTest
Change-Id: Iaa6a04d0bffa87851c0385ad57e9e4001ca7bea3
5 files changed, 20 insertions, 24 deletions
diff --git a/packages/SystemUI/res-keyguard/layout/keyguard_bouncer_user_switcher.xml b/packages/SystemUI/res-keyguard/layout/keyguard_bouncer_user_switcher.xml index a2b8bf6d3d4c..4f0925f3bfbb 100644 --- a/packages/SystemUI/res-keyguard/layout/keyguard_bouncer_user_switcher.xml +++ b/packages/SystemUI/res-keyguard/layout/keyguard_bouncer_user_switcher.xml @@ -20,19 +20,18 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/keyguard_bouncer_user_switcher" android:layout_width="match_parent" - android:layout_height="match_parent" + android:layout_height="wrap_content" android:clipChildren="false" android:clipToPadding="false" android:orientation="vertical" android:gravity="center" - android:paddingTop="12dp" android:importantForAccessibility="yes"> <!-- Needed because TYPE_WINDOW_STATE_CHANGED is sent from this view when bouncer is shown --> - <ImageView - android:id="@+id/user_icon" - android:layout_width="@dimen/keyguard_user_switcher_icon_size" - android:layout_height="@dimen/keyguard_user_switcher_icon_size" /> + <ImageView + android:id="@+id/user_icon" + android:layout_width="@dimen/keyguard_user_switcher_icon_size" + android:layout_height="@dimen/keyguard_user_switcher_icon_size" /> <!-- need to keep this outer view in order to have a correctly sized anchor for the dropdown menu, as well as dropdown background in the right place --> @@ -41,7 +40,7 @@ android:orientation="horizontal" android:layout_height="wrap_content" android:layout_width="wrap_content" - android:layout_marginTop="32dp" + android:layout_marginTop="30dp" android:minHeight="48dp"> <TextView style="@style/Keyguard.UserSwitcher.Spinner.Header" diff --git a/packages/SystemUI/res-keyguard/values/dimens.xml b/packages/SystemUI/res-keyguard/values/dimens.xml index 95330400145f..2819dc9c27b7 100644 --- a/packages/SystemUI/res-keyguard/values/dimens.xml +++ b/packages/SystemUI/res-keyguard/values/dimens.xml @@ -108,10 +108,10 @@ <dimen name="one_handed_bouncer_move_animation_translation">120dp</dimen> - <dimen name="keyguard_user_switcher_header_text_size">24sp</dimen> - <dimen name="keyguard_user_switcher_item_text_size">18sp</dimen> - <dimen name="keyguard_user_switcher_width">300dp</dimen> - <dimen name="keyguard_user_switcher_icon_size">250dp</dimen> + <dimen name="keyguard_user_switcher_header_text_size">32sp</dimen> + <dimen name="keyguard_user_switcher_item_text_size">32sp</dimen> + <dimen name="keyguard_user_switcher_width">320dp</dimen> + <dimen name="keyguard_user_switcher_icon_size">310dp</dimen> <dimen name="keyguard_user_switcher_corner">32dp</dimen> <dimen name="keyguard_user_switcher_popup_corner">24dp</dimen> <dimen name="keyguard_user_switcher_item_padding_vertical">15dp</dimen> diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java index 67ef02a6029b..b84cb19b9468 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java @@ -866,7 +866,6 @@ public class KeyguardSecurityContainer extends FrameLayout { ((LayerDrawable) mUserSwitcher.getBackground()).getDrawable(1).setAlpha(255); } - anchor.setClickable(true); anchor.setOnClickListener((v) -> { if (mFalsingManager.isFalseTap(LOW_PENALTY)) return; @@ -877,8 +876,7 @@ public class KeyguardSecurityContainer extends FrameLayout { public void onItemClick(AdapterView parent, View view, int pos, long id) { if (mFalsingManager.isFalseTap(LOW_PENALTY)) return; - // - 1 to account for the header view - UserRecord user = adapter.getItem(pos - 1); + UserRecord user = adapter.getItem(pos); if (!user.isCurrent) { adapter.onUserListItemClicked(user); } @@ -907,9 +905,16 @@ public class KeyguardSecurityContainer extends FrameLayout { == Configuration.ORIENTATION_PORTRAIT) { updateViewGravity(mViewFlipper, Gravity.CENTER_HORIZONTAL); updateViewGravity(mUserSwitcherViewGroup, Gravity.CENTER_HORIZONTAL); + mUserSwitcherViewGroup.setTranslationY(0); } else { updateViewGravity(mViewFlipper, Gravity.RIGHT | Gravity.BOTTOM); - updateViewGravity(mUserSwitcherViewGroup, Gravity.LEFT | Gravity.TOP); + updateViewGravity(mUserSwitcherViewGroup, Gravity.LEFT | Gravity.CENTER_VERTICAL); + + // Attempt to reposition a bit higher to make up for this frame being a bit lower + // on the device + int yTrans = mView.getContext().getResources().getDimensionPixelSize( + R.dimen.status_bar_height); + mUserSwitcherViewGroup.setTranslationY(-yTrans); } } diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUserSwitcherPopupMenu.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUserSwitcherPopupMenu.java index dfb466788ca7..7b6ce3e1c951 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardUserSwitcherPopupMenu.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUserSwitcherPopupMenu.java @@ -18,12 +18,10 @@ package com.android.keyguard; import android.annotation.NonNull; import android.content.Context; import android.content.res.Resources; -import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.widget.ListPopupWindow; import android.widget.ListView; -import android.widget.TextView; import com.android.systemui.R; import com.android.systemui.plugins.FalsingManager; @@ -68,12 +66,6 @@ public class KeyguardUserSwitcherPopupMenu extends ListPopupWindow { // This will force the popupwindow to show upward instead of drop down listView.addOnLayoutChangeListener(mLayoutListener); - TextView header = (TextView) LayoutInflater.from(mContext).inflate( - R.layout.keyguard_bouncer_user_switcher_item, listView, false); - header.setText(mContext.getResources().getString( - R.string.accessibility_multi_user_switch_switcher)); - listView.addHeaderView(header); - listView.setOnTouchListener((v, ev) -> { if (ev.getActionMasked() == MotionEvent.ACTION_DOWN) { return mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY); diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerTest.java index 77762859de18..24b01e079b42 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerTest.java @@ -244,7 +244,7 @@ public class KeyguardSecurityContainerTest extends SysuiTestCase { ViewGroup userSwitcher = mKeyguardSecurityContainer.findViewById( R.id.keyguard_bouncer_user_switcher); assertThat(((FrameLayout.LayoutParams) userSwitcher.getLayoutParams()).gravity) - .isEqualTo(Gravity.LEFT | Gravity.TOP); + .isEqualTo(Gravity.LEFT | Gravity.CENTER_VERTICAL); } @Test |