Fixing menu tests when context menu caption is the first line

The tests mistakenly took the caption (if on top) as the first context
menu item.

Change-Id: Ibd3264814f2c818742ab164503bf7136fedcde31
Tests: com.android.launcher3.ui.ShortcutsToHomeTest
diff --git a/tests/tapl/com/android/launcher3/tapl/AppIconMenu.java b/tests/tapl/com/android/launcher3/tapl/AppIconMenu.java
index 2a03f9a..7f28151 100644
--- a/tests/tapl/com/android/launcher3/tapl/AppIconMenu.java
+++ b/tests/tapl/com/android/launcher3/tapl/AppIconMenu.java
@@ -20,6 +20,8 @@
 
 import androidx.test.uiautomator.UiObject2;
 
+import java.util.List;
+
 /**
  * Context menu of an app icon.
  */
@@ -37,10 +39,9 @@
      * Returns a menu item with a given number. Fails if it doesn't exist.
      */
     public AppIconMenuItem getMenuItem(int itemNumber) {
-        assertTrue(mDeepShortcutsContainer.getChildCount() > itemNumber);
-
-        final UiObject2 shortcut = mLauncher.waitForObjectInContainer(
-                mDeepShortcutsContainer.getChildren().get(itemNumber), "bubble_text");
-        return new AppIconMenuItem(mLauncher, shortcut);
+        final List<UiObject2> menuItems = mLauncher.getObjectsInContainer(mDeepShortcutsContainer,
+                "bubble_text");
+        assertTrue(menuItems.size() > itemNumber);
+        return new AppIconMenuItem(mLauncher, menuItems.get(itemNumber));
     }
 }
diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
index bb399d5..49bd73a 100644
--- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
+++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
@@ -41,6 +41,7 @@
 import org.junit.Assert;
 
 import java.lang.ref.WeakReference;
+import java.util.List;
 import java.util.concurrent.TimeoutException;
 
 /**
@@ -367,6 +368,11 @@
     }
 
     @NonNull
+    List<UiObject2> getObjectsInContainer(UiObject2 container, String resName) {
+        return container.findObjects(getLauncherObjectSelector(resName));
+    }
+
+    @NonNull
     UiObject2 waitForObjectInContainer(UiObject2 container, String resName) {
         final UiObject2 object = container.wait(
                 Until.findObject(getLauncherObjectSelector(resName)),