Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9052b5c2 authored by Mady Mellor's avatar Mady Mellor
Browse files

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
parent 5095a528
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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"
    >
+2 −2
Original line number Diff line number Diff line
@@ -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"
    >
+9 −2
Original line number Diff line number Diff line
@@ -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>
+2 −3
Original line number Diff line number Diff line
@@ -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
+6 −5
Original line number Diff line number Diff line
@@ -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