Make finding buttons by text search case-insensitively
An OEM had an all-caps "ALLOW" button, probably due to their
theme.
Bug: 161331634
Test: make cts, cts-tradefed, run cts -m CtsPermission3TestCases, run cts -m CtsPermissionTestCases -t android.permission.cts.PermissionGroupChange
Change-Id: I9cadbc51b55c623f0b3d5ef6bd4735a0de87bff4
diff --git a/tests/tests/permission/src/android/permission/cts/PermissionGroupChange.java b/tests/tests/permission/src/android/permission/cts/PermissionGroupChange.java
index 37a448b..ce2fade 100644
--- a/tests/tests/permission/src/android/permission/cts/PermissionGroupChange.java
+++ b/tests/tests/permission/src/android/permission/cts/PermissionGroupChange.java
@@ -47,6 +47,7 @@
import org.junit.Test;
import java.util.concurrent.TimeUnit;
+import java.util.regex.Pattern;
public class PermissionGroupChange {
private static final String APP_PKG_NAME = "android.permission.cts.appthatrequestpermission";
@@ -107,7 +108,8 @@
if (mAllowButtonText == null) {
mAllowButtonText = getPermissionControllerString("grant_dialog_button_allow");
}
- mUiDevice.findObject(By.text(mAllowButtonText)).click();
+ mUiDevice.findObject(By.text(Pattern.compile(Pattern.quote(mAllowButtonText),
+ Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE))).click();
} else {
mUiDevice.findObject(By.res(
"com.android.permissioncontroller:id/permission_allow_button")).click();
diff --git a/tests/tests/permission3/src/android/permission3/cts/BasePermissionTest.kt b/tests/tests/permission3/src/android/permission3/cts/BasePermissionTest.kt
index 5cd5c4f..3af1b50 100644
--- a/tests/tests/permission3/src/android/permission3/cts/BasePermissionTest.kt
+++ b/tests/tests/permission3/src/android/permission3/cts/BasePermissionTest.kt
@@ -38,6 +38,7 @@
import org.junit.Before
import org.junit.Rule
import java.util.concurrent.CompletableFuture
+import java.util.regex.Pattern
abstract class BasePermissionTest {
companion object {
@@ -90,9 +91,11 @@
pressHome()
}
- protected fun getPermissionControllerString(res: String): String =
- mPermissionControllerResources.getString(mPermissionControllerResources
- .getIdentifier(res, "string", "com.android.permissioncontroller"))
+ protected fun getPermissionControllerString(res: String): Pattern =
+ Pattern.compile(Pattern.quote(mPermissionControllerResources.getString(
+ mPermissionControllerResources.getIdentifier(
+ res, "string", "com.android.permissioncontroller"))),
+ Pattern.CASE_INSENSITIVE or Pattern.UNICODE_CASE)
protected fun installPackage(
apkPath: String,