Merge "Merge "Enhance compatibility for dismissing MediaProjection permissions" into nougat-mr1-cts-dev am: 21709726d3" into oreo-cts-dev
am: d2341ab208
Change-Id: I473366d13e5912a6284e97feaa5f77a9188615a1
diff --git a/tests/tests/view/src/android/view/cts/surfacevalidator/CapturedActivity.java b/tests/tests/view/src/android/view/cts/surfacevalidator/CapturedActivity.java
index 1ff6dc5..c8b7f14 100644
--- a/tests/tests/view/src/android/view/cts/surfacevalidator/CapturedActivity.java
+++ b/tests/tests/view/src/android/view/cts/surfacevalidator/CapturedActivity.java
@@ -32,10 +32,10 @@
import android.os.Handler;
import android.os.Looper;
import android.support.test.InstrumentationRegistry;
+import android.support.test.uiautomator.By;
import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject;
-import android.support.test.uiautomator.UiObjectNotFoundException;
-import android.support.test.uiautomator.UiSelector;
+import android.support.test.uiautomator.UiObject2;
+import android.support.test.uiautomator.Until;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.SparseArray;
@@ -69,6 +69,8 @@
private static final long START_CAPTURE_DELAY_MS = 4000;
+ private static final String ACCEPT_RESOURCE_ID = "android:id/button1";
+
private MediaPlayer mMediaPlayer;
private final Handler mHandler = new Handler(Looper.getMainLooper());
@@ -105,14 +107,14 @@
mMediaPlayer.setLooping(true);
}
- public void dismissPermissionDialog() throws UiObjectNotFoundException {
+ public void dismissPermissionDialog() {
// The permission dialog will be auto-opened by the activity - find it and accept
UiDevice uiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
- UiSelector acceptButtonSelector = new UiSelector().resourceId("android:id/button1");
- UiObject acceptButton = uiDevice.findObject(acceptButtonSelector);
- if (acceptButton.waitForExists(PERMISSION_DIALOG_WAIT_MS)) {
- boolean success = acceptButton.click();
- Log.d(TAG, "found permission dialog, click attempt success = " + success);
+ UiObject2 acceptButton = uiDevice.wait(Until.findObject(By.res(ACCEPT_RESOURCE_ID)),
+ PERMISSION_DIALOG_WAIT_MS);
+ if (acceptButton != null) {
+ Log.d(TAG, "found permission dialog after searching all windows, clicked");
+ acceptButton.click();
}
}