Merge "CTS tests for accessibility importance API"
diff --git a/tests/accessibility/src/android/view/accessibility/cts/AccessibilityNodeInfoTest.java b/tests/accessibility/src/android/view/accessibility/cts/AccessibilityNodeInfoTest.java
index 6b28541..9c9b0db 100644
--- a/tests/accessibility/src/android/view/accessibility/cts/AccessibilityNodeInfoTest.java
+++ b/tests/accessibility/src/android/view/accessibility/cts/AccessibilityNodeInfoTest.java
@@ -184,6 +184,7 @@
info.setEnabled(true);
info.setFocusable(true);
info.setFocused(true);
+ info.setImportantForAccessibility(true);
info.setLongClickable(true);
info.setContextClickable(true);
info.setPassword(true);
@@ -235,6 +236,9 @@
receivedInfo.isFocusable());
assertSame("focused has incorrect value", expectedInfo.isFocused(),
receivedInfo.isFocused());
+ assertSame("importantForAccessibility has incorrect value",
+ expectedInfo.isImportantForAccessibility(),
+ receivedInfo.isImportantForAccessibility());
assertSame("longClickable has incorrect value", expectedInfo.isLongClickable(),
receivedInfo.isLongClickable());
assertSame("contextClickable has incorrect value", expectedInfo.isContextClickable(),
@@ -286,6 +290,8 @@
assertFalse("enabled not properly recycled", info.isEnabled());
assertFalse("focusable not properly recycled", info.isFocusable());
assertFalse("focused not properly recycled", info.isFocused());
+ assertFalse("importantForAccessibility not properly recycled",
+ info.isImportantForAccessibility());
assertFalse("longClickable not properly recycled", info.isLongClickable());
assertFalse("contextClickable not properly recycled", info.isContextClickable());
assertFalse("password not properly recycled", info.isPassword());
diff --git a/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityViewTreeReportingTest.java b/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityViewTreeReportingTest.java
index 2a35e93..a292e4e 100644
--- a/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityViewTreeReportingTest.java
+++ b/tests/accessibilityservice/src/android/accessibilityservice/cts/AccessibilityViewTreeReportingTest.java
@@ -240,6 +240,40 @@
assertEquals(0, getUiAutomation(false).getRootInActiveWindow().getDrawingOrder());
}
+ @MediumTest
+ public void testAccessibilityImportanceReportingForImportantView() throws Exception {
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ // Manually control importance for firstButton
+ AccessibilityViewTreeReportingActivity activity = getActivity();
+ View firstButton = activity.findViewById(R.id.firstButton);
+ firstButton.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
+ }
+ });
+
+ UiAutomation uiAutomation = getUiAutomation(true);
+ AccessibilityNodeInfo firstButtonNode = getNodeByText(uiAutomation, R.string.firstButton);
+ assertTrue(firstButtonNode.isImportantForAccessibility());
+ }
+
+ @MediumTest
+ public void testAccessibilityImportanceReportingForUnimportantView() throws Exception {
+ getInstrumentation().runOnMainSync(new Runnable() {
+ @Override
+ public void run() {
+ // Manually control importance for firstButton
+ AccessibilityViewTreeReportingActivity activity = getActivity();
+ View firstButton = activity.findViewById(R.id.firstButton);
+ firstButton.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_NO);
+ }
+ });
+
+ UiAutomation uiAutomation = getUiAutomation(true);
+ AccessibilityNodeInfo firstButtonNode = getNodeByText(uiAutomation, R.string.firstButton);
+ assertFalse(firstButtonNode.isImportantForAccessibility());
+ }
+
private UiAutomation getUiAutomation(boolean getNonImportantViews) {
UiAutomation uiAutomation = getInstrumentation().getUiAutomation();
AccessibilityServiceInfo serviceInfo = uiAutomation.getServiceInfo();