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

Commit 1934e1a9 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Fix the order of talkback focus for ConversationLayout when expanded"...

Merge "Fix the order of talkback focus for ConversationLayout when expanded" into tm-qpr-dev am: f4643c77 am: 2211c163

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19904008



Change-Id: Ic0b348f9d5427f66692458aa1dd3ba0ac3b75941
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 9f935c28 2211c163
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -111,6 +111,7 @@ public class ConversationLayout extends FrameLayout
    private Icon mLargeIcon;
    private View mExpandButtonContainer;
    private ViewGroup mExpandButtonAndContentContainer;
    private ViewGroup mExpandButtonContainerA11yContainer;
    private NotificationExpandButton mExpandButton;
    private MessagingLinearLayout mImageMessageContainer;
    private int mBadgeProtrusion;
@@ -234,6 +235,8 @@ public class ConversationLayout extends FrameLayout
        });
        mConversationText = findViewById(R.id.conversation_text);
        mExpandButtonContainer = findViewById(R.id.expand_button_container);
        mExpandButtonContainerA11yContainer =
                findViewById(R.id.expand_button_a11y_container);
        mConversationHeader = findViewById(R.id.conversation_header);
        mContentContainer = findViewById(R.id.notification_action_list_margin_target);
        mExpandButtonAndContentContainer = findViewById(R.id.expand_button_and_content_container);
@@ -1091,7 +1094,7 @@ public class ConversationLayout extends FrameLayout
            newContainer = mExpandButtonAndContentContainer;
        } else {
            buttonGravity = Gravity.CENTER_HORIZONTAL | Gravity.TOP;
            newContainer = this;
            newContainer = mExpandButtonContainerA11yContainer;
        }
        mExpandButton.setExpanded(!mIsCollapsed);

+48 −31
Original line number Diff line number Diff line
@@ -89,8 +89,24 @@
        <include layout="@layout/notification_material_action_list" />
    </com.android.internal.widget.RemeasuringLinearLayout>

    <!--This is dynamically placed between here and at the end of the layout. It starts here since
        only FrameLayout layout params have gravity-->
    <!--expand_button_a11y_container ensures talkback focus order is correct when view is expanded.
    The -1px of marginTop and 1px of paddingTop make sure expand_button_a11y_container is prior to
    its sibling view in accessibility focus order.
    {see android.view.ViewGroup.addChildrenForAccessibility()}
    expand_button_container will be moved under expand_button_and_content_container when collapsed,
    this dynamic movement ensures message can flow under expand button when expanded-->
    <FrameLayout
        android:id="@+id/expand_button_a11y_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="end|top"
        android:clipChildren="false"
        android:clipToPadding="false"
        android:layout_marginTop="-1px"
        android:paddingTop="1px"
        >
        <!--expand_button_container is dynamically placed between here and at the end of the
        layout. It starts here since only FrameLayout layout params have gravity-->
        <FrameLayout
            android:id="@+id/expand_button_container"
            android:layout_width="wrap_content"
@@ -98,9 +114,9 @@
            android:layout_gravity="end|top"
            android:clipChildren="false"
            android:clipToPadding="false">
        <!--This layout makes sure that we can nicely center the expand content in the
            collapsed layout while the parent makes sure that we're never laid out bigger
            than the messaging content.-->
            <!--expand_button_touch_container makes sure that we can nicely center the expand
            content in the collapsed layout while the parent makes sure that we're never laid out
            bigger than the messaging content.-->
            <LinearLayout
                android:id="@+id/expand_button_touch_container"
                android:layout_width="wrap_content"
@@ -130,4 +146,5 @@
                    />
            </LinearLayout>
        </FrameLayout>
    </FrameLayout>
</com.android.internal.widget.ConversationLayout>
+1 −0
Original line number Diff line number Diff line
@@ -4288,6 +4288,7 @@
  <java-symbol type="id" name="conversation_icon_badge_ring" />
  <java-symbol type="id" name="conversation_icon_badge_bg" />
  <java-symbol type="id" name="expand_button_container" />
  <java-symbol type="id" name="expand_button_a11y_container" />
  <java-symbol type="id" name="expand_button_touch_container" />
  <java-symbol type="id" name="messaging_group_content_container" />
  <java-symbol type="id" name="expand_button_and_content_container" />