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
This commit is contained in:
@@ -1317,7 +1317,6 @@ final class RemoteSelectionToolbar {
|
||||
contentContainer.setLayoutParams(new ViewGroup.LayoutParams(
|
||||
ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
|
||||
contentContainer.setTag(FloatingToolbar.FLOATING_TOOLBAR_TAG);
|
||||
contentContainer.setContentDescription(FloatingToolbar.FLOATING_TOOLBAR_TAG);
|
||||
contentContainer.setClipToOutline(true);
|
||||
return contentContainer;
|
||||
}
|
||||
|
||||
@@ -1475,7 +1475,6 @@ public final class LocalFloatingToolbarPopup implements FloatingToolbarPopup {
|
||||
contentContainer.setLayoutParams(new ViewGroup.LayoutParams(
|
||||
ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
|
||||
contentContainer.setTag(FloatingToolbar.FLOATING_TOOLBAR_TAG);
|
||||
contentContainer.setContentDescription(FloatingToolbar.FLOATING_TOOLBAR_TAG);
|
||||
contentContainer.setClipToOutline(true);
|
||||
return contentContainer;
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
*/
|
||||
-->
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/floating_popup_container"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="0dp"
|
||||
|
||||
@@ -16,13 +16,12 @@
|
||||
|
||||
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.assertWithMessage;
|
||||
|
||||
import android.content.res.Resources;
|
||||
import android.support.test.uiautomator.By;
|
||||
import android.support.test.uiautomator.BySelector;
|
||||
import android.support.test.uiautomator.UiDevice;
|
||||
import android.support.test.uiautomator.Until;
|
||||
|
||||
@@ -33,25 +32,27 @@ import com.android.internal.R;
|
||||
final class FloatingToolbarUtils {
|
||||
|
||||
private final UiDevice mDevice;
|
||||
private static final BySelector TOOLBAR_CONTAINER_SELECTOR =
|
||||
By.res("android", "floating_popup_container");
|
||||
|
||||
FloatingToolbarUtils() {
|
||||
mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
|
||||
}
|
||||
|
||||
void waitForFloatingToolbarPopup() {
|
||||
mDevice.wait(Until.findObject(By.desc(FLOATING_TOOLBAR_TAG)), 500);
|
||||
mDevice.wait(Until.findObject(TOOLBAR_CONTAINER_SELECTOR), 500);
|
||||
}
|
||||
|
||||
void assertFloatingToolbarIsDisplayed() {
|
||||
waitForFloatingToolbarPopup();
|
||||
assertThat(mDevice.hasObject(By.desc(FLOATING_TOOLBAR_TAG))).isTrue();
|
||||
assertThat(mDevice.hasObject(TOOLBAR_CONTAINER_SELECTOR)).isTrue();
|
||||
}
|
||||
|
||||
void assertFloatingToolbarContainsItem(String itemLabel) {
|
||||
waitForFloatingToolbarPopup();
|
||||
assertWithMessage("Expected to find item labelled [" + itemLabel + "]")
|
||||
.that(mDevice.hasObject(
|
||||
By.desc(FLOATING_TOOLBAR_TAG).hasDescendant(By.text(itemLabel))))
|
||||
TOOLBAR_CONTAINER_SELECTOR.hasDescendant(By.text(itemLabel))))
|
||||
.isTrue();
|
||||
}
|
||||
|
||||
@@ -59,14 +60,14 @@ final class FloatingToolbarUtils {
|
||||
waitForFloatingToolbarPopup();
|
||||
assertWithMessage("Expected to not find item labelled [" + itemLabel + "]")
|
||||
.that(mDevice.hasObject(
|
||||
By.desc(FLOATING_TOOLBAR_TAG).hasDescendant(By.text(itemLabel))))
|
||||
TOOLBAR_CONTAINER_SELECTOR.hasDescendant(By.text(itemLabel))))
|
||||
.isFalse();
|
||||
}
|
||||
|
||||
void assertFloatingToolbarContainsItemAtIndex(String itemLabel, int index) {
|
||||
waitForFloatingToolbarPopup();
|
||||
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))
|
||||
.get(index)
|
||||
.getChildren()
|
||||
@@ -77,7 +78,7 @@ final class FloatingToolbarUtils {
|
||||
|
||||
void clickFloatingToolbarItem(String label) {
|
||||
waitForFloatingToolbarPopup();
|
||||
mDevice.findObject(By.desc(FLOATING_TOOLBAR_TAG))
|
||||
mDevice.findObject(TOOLBAR_CONTAINER_SELECTOR)
|
||||
.findObject(By.text(label))
|
||||
.click();
|
||||
}
|
||||
@@ -85,13 +86,13 @@ final class FloatingToolbarUtils {
|
||||
void clickFloatingToolbarOverflowItem(String label) {
|
||||
// TODO: There might be a benefit to combining this with "clickFloatingToolbarItem" method.
|
||||
waitForFloatingToolbarPopup();
|
||||
mDevice.findObject(By.desc(FLOATING_TOOLBAR_TAG))
|
||||
mDevice.findObject(TOOLBAR_CONTAINER_SELECTOR)
|
||||
.findObject(By.desc(str(R.string.floating_toolbar_open_overflow_description)))
|
||||
.click();
|
||||
mDevice.wait(
|
||||
Until.findObject(By.desc(FLOATING_TOOLBAR_TAG).hasDescendant(By.text(label))),
|
||||
Until.findObject(TOOLBAR_CONTAINER_SELECTOR.hasDescendant(By.text(label))),
|
||||
1000);
|
||||
mDevice.findObject(By.desc(FLOATING_TOOLBAR_TAG))
|
||||
mDevice.findObject(TOOLBAR_CONTAINER_SELECTOR)
|
||||
.findObject(By.text(label))
|
||||
.click();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user