Make OverviewActions tests more robust, wait for enabled

Wait for buttons to be enabled before trying to click on them.

Bug: 192006530
Test: TaplTestQuickstep
Change-Id: I80e050dcd93b8aae195677f2cd1fed3b53682581
diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
index af36175..05ccf2e 100644
--- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
+++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
@@ -926,6 +926,16 @@
         }
     }
 
+    void waitForObjectEnabled(UiObject2 object, String waitReason) {
+        try {
+            assertTrue("Timed out waiting for object to be enabled for " + waitReason + " "
+                    + object.getResourceName(),
+                    object.wait(Until.enabled(true), WAIT_TIME_MS));
+        } catch (StaleObjectException e) {
+            fail("The object disappeared from screen");
+        }
+    }
+
     @NonNull
     UiObject2 waitForObjectInContainer(UiObject2 container, BySelector selector) {
         try {
@@ -1072,6 +1082,7 @@
     }
 
     void clickLauncherObject(UiObject2 object) {
+        waitForObjectEnabled(object, "clickLauncherObject");
         expectEvent(TestProtocol.SEQUENCE_MAIN, LauncherInstrumentation.EVENT_TOUCH_DOWN);
         expectEvent(TestProtocol.SEQUENCE_MAIN, LauncherInstrumentation.EVENT_TOUCH_UP);
         if (!isLauncher3() && getNavigationModel() != NavigationModel.THREE_BUTTON) {
diff --git a/tests/tapl/com/android/launcher3/tapl/OverviewActions.java b/tests/tapl/com/android/launcher3/tapl/OverviewActions.java
index e3e0f42..950c052 100644
--- a/tests/tapl/com/android/launcher3/tapl/OverviewActions.java
+++ b/tests/tapl/com/android/launcher3/tapl/OverviewActions.java
@@ -64,6 +64,7 @@
                      "want to click screenshot button and exit screenshot ui")) {
             UiObject2 screenshot = mLauncher.waitForObjectInContainer(mOverviewActions,
                     "action_screenshot");
+
             mLauncher.clickLauncherObject(screenshot);
             try (LauncherInstrumentation.Closable c1 = mLauncher.addContextLayer(
                     "clicked screenshot button")) {