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

Commit 53d6f568 authored by Joanne's avatar Joanne Committed by Joanne Chung
Browse files

Fix toolbar announce wrong text.

This is a regression during refactor toolbar code, we don't intent
to announce the toolbar popup window so we should not set content
description for the container.

Bug: 239563674
Test: manual. Turn on talkback and make sure the announce is correct
and the behavior is the same
Test: atest TextViewIntegrationTest pass for local/remote
Test: atest TextViewActivityTest pass for local/remote
Test: atest SuggestionsPopupWindowTest pass for local/remote

Change-Id: I6e30d2f6d9a2c4905b702c25655fe5e4eb7de5d5
parent c7359149
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -1317,7 +1317,6 @@ final class RemoteSelectionToolbar {
        contentContainer.setLayoutParams(new ViewGroup.LayoutParams(
        contentContainer.setLayoutParams(new ViewGroup.LayoutParams(
                ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
                ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
        contentContainer.setTag(FloatingToolbar.FLOATING_TOOLBAR_TAG);
        contentContainer.setTag(FloatingToolbar.FLOATING_TOOLBAR_TAG);
        contentContainer.setContentDescription(FloatingToolbar.FLOATING_TOOLBAR_TAG);
        contentContainer.setClipToOutline(true);
        contentContainer.setClipToOutline(true);
        return contentContainer;
        return contentContainer;
    }
    }
+0 −1
Original line number Original line Diff line number Diff line
@@ -1475,7 +1475,6 @@ public final class LocalFloatingToolbarPopup implements FloatingToolbarPopup {
        contentContainer.setLayoutParams(new ViewGroup.LayoutParams(
        contentContainer.setLayoutParams(new ViewGroup.LayoutParams(
                ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
                ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
        contentContainer.setTag(FloatingToolbar.FLOATING_TOOLBAR_TAG);
        contentContainer.setTag(FloatingToolbar.FLOATING_TOOLBAR_TAG);
        contentContainer.setContentDescription(FloatingToolbar.FLOATING_TOOLBAR_TAG);
        contentContainer.setClipToOutline(true);
        contentContainer.setClipToOutline(true);
        return contentContainer;
        return contentContainer;
    }
    }
+1 −0
Original line number Original line Diff line number Diff line
@@ -16,6 +16,7 @@
*/
*/
-->
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/floating_popup_container"
    android:layout_width="wrap_content"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_height="wrap_content"
    android:padding="0dp"
    android:padding="0dp"
+12 −11
Original line number Original line Diff line number Diff line
@@ -16,13 +16,12 @@


package android.widget;
package android.widget;


import static com.android.internal.widget.floatingtoolbar.FloatingToolbar.FLOATING_TOOLBAR_TAG;

import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertThat;
import static com.google.common.truth.Truth.assertWithMessage;
import static com.google.common.truth.Truth.assertWithMessage;


import android.content.res.Resources;
import android.content.res.Resources;
import android.support.test.uiautomator.By;
import android.support.test.uiautomator.By;
import android.support.test.uiautomator.BySelector;
import android.support.test.uiautomator.UiDevice;
import android.support.test.uiautomator.UiDevice;
import android.support.test.uiautomator.Until;
import android.support.test.uiautomator.Until;


@@ -33,25 +32,27 @@ import com.android.internal.R;
final class FloatingToolbarUtils {
final class FloatingToolbarUtils {


    private final UiDevice mDevice;
    private final UiDevice mDevice;
    private static final BySelector TOOLBAR_CONTAINER_SELECTOR =
            By.res("android", "floating_popup_container");


    FloatingToolbarUtils() {
    FloatingToolbarUtils() {
        mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
        mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
    }
    }


    void waitForFloatingToolbarPopup() {
    void waitForFloatingToolbarPopup() {
        mDevice.wait(Until.findObject(By.desc(FLOATING_TOOLBAR_TAG)), 500);
        mDevice.wait(Until.findObject(TOOLBAR_CONTAINER_SELECTOR), 500);
    }
    }


    void assertFloatingToolbarIsDisplayed() {
    void assertFloatingToolbarIsDisplayed() {
        waitForFloatingToolbarPopup();
        waitForFloatingToolbarPopup();
        assertThat(mDevice.hasObject(By.desc(FLOATING_TOOLBAR_TAG))).isTrue();
        assertThat(mDevice.hasObject(TOOLBAR_CONTAINER_SELECTOR)).isTrue();
    }
    }


    void assertFloatingToolbarContainsItem(String itemLabel) {
    void assertFloatingToolbarContainsItem(String itemLabel) {
        waitForFloatingToolbarPopup();
        waitForFloatingToolbarPopup();
        assertWithMessage("Expected to find item labelled [" + itemLabel + "]")
        assertWithMessage("Expected to find item labelled [" + itemLabel + "]")
                .that(mDevice.hasObject(
                .that(mDevice.hasObject(
                        By.desc(FLOATING_TOOLBAR_TAG).hasDescendant(By.text(itemLabel))))
                        TOOLBAR_CONTAINER_SELECTOR.hasDescendant(By.text(itemLabel))))
                .isTrue();
                .isTrue();
    }
    }


@@ -59,14 +60,14 @@ final class FloatingToolbarUtils {
        waitForFloatingToolbarPopup();
        waitForFloatingToolbarPopup();
        assertWithMessage("Expected to not find item labelled [" + itemLabel + "]")
        assertWithMessage("Expected to not find item labelled [" + itemLabel + "]")
                .that(mDevice.hasObject(
                .that(mDevice.hasObject(
                        By.desc(FLOATING_TOOLBAR_TAG).hasDescendant(By.text(itemLabel))))
                        TOOLBAR_CONTAINER_SELECTOR.hasDescendant(By.text(itemLabel))))
                .isFalse();
                .isFalse();
    }
    }


    void assertFloatingToolbarContainsItemAtIndex(String itemLabel, int index) {
    void assertFloatingToolbarContainsItemAtIndex(String itemLabel, int index) {
        waitForFloatingToolbarPopup();
        waitForFloatingToolbarPopup();
        assertWithMessage("Expected to find item labelled [" + itemLabel + "] at index " + index)
        assertWithMessage("Expected to find item labelled [" + itemLabel + "] at index " + index)
                .that(mDevice.findObject(By.desc(FLOATING_TOOLBAR_TAG))
                .that(mDevice.findObject(TOOLBAR_CONTAINER_SELECTOR)
                        .findObjects(By.clickable(true))
                        .findObjects(By.clickable(true))
                        .get(index)
                        .get(index)
                        .getChildren()
                        .getChildren()
@@ -77,7 +78,7 @@ final class FloatingToolbarUtils {


    void clickFloatingToolbarItem(String label) {
    void clickFloatingToolbarItem(String label) {
        waitForFloatingToolbarPopup();
        waitForFloatingToolbarPopup();
        mDevice.findObject(By.desc(FLOATING_TOOLBAR_TAG))
        mDevice.findObject(TOOLBAR_CONTAINER_SELECTOR)
                .findObject(By.text(label))
                .findObject(By.text(label))
                .click();
                .click();
    }
    }
@@ -85,13 +86,13 @@ final class FloatingToolbarUtils {
    void clickFloatingToolbarOverflowItem(String label) {
    void clickFloatingToolbarOverflowItem(String label) {
        // TODO: There might be a benefit to combining this with "clickFloatingToolbarItem" method.
        // TODO: There might be a benefit to combining this with "clickFloatingToolbarItem" method.
        waitForFloatingToolbarPopup();
        waitForFloatingToolbarPopup();
        mDevice.findObject(By.desc(FLOATING_TOOLBAR_TAG))
        mDevice.findObject(TOOLBAR_CONTAINER_SELECTOR)
                .findObject(By.desc(str(R.string.floating_toolbar_open_overflow_description)))
                .findObject(By.desc(str(R.string.floating_toolbar_open_overflow_description)))
                .click();
                .click();
        mDevice.wait(
        mDevice.wait(
                Until.findObject(By.desc(FLOATING_TOOLBAR_TAG).hasDescendant(By.text(label))),
                Until.findObject(TOOLBAR_CONTAINER_SELECTOR.hasDescendant(By.text(label))),
                1000);
                1000);
        mDevice.findObject(By.desc(FLOATING_TOOLBAR_TAG))
        mDevice.findObject(TOOLBAR_CONTAINER_SELECTOR)
                .findObject(By.text(label))
                .findObject(By.text(label))
                .click();
                .click();
    }
    }