Fix toolbar scuba regressions
Also add findMenuItemById() and requireMenuItemById().
Also set content descriptions on MenuItems, for scuba tests / accessability.
Fixes: 144945668
Test: Manually, scuba
Change-Id: I90f08ff193c5fcc57600731563065afd109b8385
diff --git a/car-ui-lib/tests/robotests/src/com/android/car/ui/toolbar/ToolbarTest.java b/car-ui-lib/tests/robotests/src/com/android/car/ui/toolbar/ToolbarTest.java
index 68c37d1..239caee 100644
--- a/car-ui-lib/tests/robotests/src/com/android/car/ui/toolbar/ToolbarTest.java
+++ b/car-ui-lib/tests/robotests/src/com/android/car/ui/toolbar/ToolbarTest.java
@@ -332,7 +332,7 @@
@Test
public void menuItems_whenClicked_shouldCallListener() {
- assertThat(getMenuItemViewCount()).isEqualTo(0);
+ assertThat(getMenuItemCount()).isEqualTo(0);
Mutable<Boolean> button1Clicked = new Mutable<>(false);
Mutable<Boolean> button2Clicked = new Mutable<>(false);
@@ -340,7 +340,7 @@
createMenuItem(i -> button1Clicked.value = true),
createMenuItem(i -> button2Clicked.value = true)));
- assertThat(getMenuItemViewCount()).isEqualTo(2);
+ assertThat(getMenuItemCount()).isEqualTo(2);
getMenuItemView(0).performClick();
@@ -359,11 +359,11 @@
createMenuItem(i -> {
})));
- assertThat(getMenuItemViewCount()).isEqualTo(2);
+ assertThat(getMenuItemCount()).isEqualTo(2);
mToolbar.setMenuItems(null);
- assertThat(getMenuItemViewCount()).isEqualTo(0);
+ assertThat(getMenuItemCount()).isEqualTo(0);
}
@Test
@@ -405,7 +405,7 @@
}));
mToolbar.setMenuItems(menuItems);
- assertThat(getMenuItemViewCount()).isEqualTo(2);
+ assertThat(getMenuItemCount()).isEqualTo(2);
View firstMenuItemView = getMenuItemView(0);
@@ -457,10 +457,8 @@
when(mContext.getResources()).thenReturn(mResources);
}
- private int getMenuItemViewCount() {
- return ((ViewGroup) mToolbar
- .findViewById(R.id.car_ui_toolbar_menu_items_container))
- .getChildCount();
+ private int getMenuItemCount() {
+ return mToolbar.getMenuItems().size();
}
private View getMenuItemView(int index) {