summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mady Mellor <madym@google.com> 2022-03-21 19:23:14 +0000
committer Mady Mellor <madym@google.com> 2022-03-22 18:50:08 +0000
commit9052b5c2fea8f3aed78da9f2112498dd786b0926 (patch)
tree89999924933e73bd14df1cbcb673c33dba958278
parent5095a5284362dc434e8ffaae68a028700231d447 (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
-rw-r--r--libs/WindowManager/Shell/res/layout/bubble_stack_user_education.xml4
-rw-r--r--libs/WindowManager/Shell/res/layout/bubbles_manage_button_education.xml4
-rw-r--r--libs/WindowManager/Shell/res/values/dimen.xml11
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/ManageEducationView.kt5
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/StackEducationView.kt11
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