diff options
| author | 2022-03-21 19:23:14 +0000 | |
|---|---|---|
| committer | 2022-03-22 18:50:08 +0000 | |
| commit | 9052b5c2fea8f3aed78da9f2112498dd786b0926 (patch) | |
| tree | 89999924933e73bd14df1cbcb673c33dba958278 | |
| parent | 5095a5284362dc434e8ffaae68a028700231d447 (diff) | |
Adjust the sizes of user education for large screens / landscape
When the stack is expanded on large screen devices, the bubbles are
inset from the edge of the screen. Due to this the rounded corner
on the user education view for the manage button is kinda squished
with the text. To make this look better, increase the width of this
user education view when on large screens. Use this value for
landscape on phone as well because we were doing match parent in
that scenario and it looks bad.
Additionally, on all form factors, increase the padding at the end
of the view. This makes it look a little better especially for
languages where the words can be long.
Bug: 223635730
Test: visual - force user education to show for bubbles, take a look
at how the stack & manage user education views look
on tablet and phone (in landscape and portrait).
Change-Id: I7bcdfff7341b8c6acad0f6f5fdcbc7fd24aa4627
5 files changed, 21 insertions, 14 deletions
diff --git a/libs/WindowManager/Shell/res/layout/bubble_stack_user_education.xml b/libs/WindowManager/Shell/res/layout/bubble_stack_user_education.xml index 87deb8b5a1fd..5c8c84cbb85b 100644 --- a/libs/WindowManager/Shell/res/layout/bubble_stack_user_education.xml +++ b/libs/WindowManager/Shell/res/layout/bubble_stack_user_education.xml @@ -21,8 +21,8 @@ android:layout_width="wrap_content" android:paddingTop="48dp" android:paddingBottom="48dp" - android:paddingEnd="16dp" - android:layout_marginEnd="24dp" + android:paddingEnd="@dimen/bubble_user_education_padding_end" + android:layout_marginEnd="@dimen/bubble_user_education_margin_end" android:orientation="vertical" android:background="@drawable/bubble_stack_user_education_bg" > diff --git a/libs/WindowManager/Shell/res/layout/bubbles_manage_button_education.xml b/libs/WindowManager/Shell/res/layout/bubbles_manage_button_education.xml index fafe40e924f5..b28f58f8356d 100644 --- a/libs/WindowManager/Shell/res/layout/bubbles_manage_button_education.xml +++ b/libs/WindowManager/Shell/res/layout/bubbles_manage_button_education.xml @@ -23,8 +23,8 @@ android:clickable="true" android:paddingTop="28dp" android:paddingBottom="16dp" - android:paddingEnd="48dp" - android:layout_marginEnd="24dp" + android:paddingEnd="@dimen/bubble_user_education_padding_end" + android:layout_marginEnd="@dimen/bubble_user_education_margin_end" android:orientation="vertical" android:background="@drawable/bubble_stack_user_education_bg" > diff --git a/libs/WindowManager/Shell/res/values/dimen.xml b/libs/WindowManager/Shell/res/values/dimen.xml index ad38975f1f3a..59d03c738723 100644 --- a/libs/WindowManager/Shell/res/values/dimen.xml +++ b/libs/WindowManager/Shell/res/values/dimen.xml @@ -205,8 +205,15 @@ <dimen name="bubble_dismiss_target_padding_x">40dp</dimen> <dimen name="bubble_dismiss_target_padding_y">20dp</dimen> <dimen name="bubble_manage_menu_elevation">4dp</dimen> - <!-- Size of user education views on large screens (phone is just match parent). --> - <dimen name="bubbles_user_education_width_large_screen">400dp</dimen> + <!-- Size of manage user education views on large screens or in landscape. --> + <dimen name="bubbles_user_education_width">480dp</dimen> + <!-- Margin applied to the end of the user education views (really only matters for phone + since the width is match parent). --> + <dimen name="bubble_user_education_margin_end">24dp</dimen> + <!-- Padding applied to the end of the user education view. --> + <dimen name="bubble_user_education_padding_end">58dp</dimen> + <!-- Padding between the bubble and the user education text. --> + <dimen name="bubble_user_education_stack_padding">16dp</dimen> <!-- Bottom and end margin for compat buttons. --> <dimen name="compat_button_margin">16dp</dimen> diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/ManageEducationView.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/ManageEducationView.kt index eb4737ac6c63..c09d1e0d189c 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/ManageEducationView.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/ManageEducationView.kt @@ -101,9 +101,8 @@ class ManageEducationView constructor(context: Context, positioner: BubblePositi bubbleExpandedView = expandedView expandedView.taskView?.setObscuredTouchRect(Rect(positioner.screenRect)) - layoutParams.width = if (positioner.isLargeScreen) - context.resources.getDimensionPixelSize( - R.dimen.bubbles_user_education_width_large_screen) + layoutParams.width = if (positioner.isLargeScreen || positioner.isLandscape) + context.resources.getDimensionPixelSize(R.dimen.bubbles_user_education_width) else ViewGroup.LayoutParams.MATCH_PARENT alpha = 0f diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/StackEducationView.kt b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/StackEducationView.kt index 3846de73842d..824b5f82d643 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/StackEducationView.kt +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/StackEducationView.kt @@ -129,21 +129,22 @@ class StackEducationView constructor( if (visibility == VISIBLE) return false controller.updateWindowFlagsForBackpress(true /* interceptBack */) - layoutParams.width = if (positioner.isLargeScreen) - context.resources.getDimensionPixelSize( - R.dimen.bubbles_user_education_width_large_screen) + layoutParams.width = if (positioner.isLargeScreen || positioner.isLandscape) + context.resources.getDimensionPixelSize(R.dimen.bubbles_user_education_width) else ViewGroup.LayoutParams.MATCH_PARENT + val stackPadding = context.resources.getDimensionPixelSize( + R.dimen.bubble_user_education_stack_padding) setAlpha(0f) setVisibility(View.VISIBLE) post { requestFocus() with(view) { if (resources.configuration.layoutDirection == View.LAYOUT_DIRECTION_LTR) { - setPadding(positioner.bubbleSize + paddingRight, paddingTop, paddingRight, + setPadding(positioner.bubbleSize + stackPadding, paddingTop, paddingRight, paddingBottom) } else { - setPadding(paddingLeft, paddingTop, positioner.bubbleSize + paddingLeft, + setPadding(paddingLeft, paddingTop, positioner.bubbleSize + stackPadding, paddingBottom) } translationY = stackPosition.y + positioner.bubbleSize / 2 - getHeight() / 2 |