Merge "Replace AccessibilityCheckResultReported proto with java class" into main
diff --git a/services/accessibility/Android.bp b/services/accessibility/Android.bp
index efa1397..3d7ad0b 100644
--- a/services/accessibility/Android.bp
+++ b/services/accessibility/Android.bp
@@ -35,7 +35,7 @@
"androidx.annotation_annotation",
],
static_libs: [
- "a11ychecker-protos-java-proto-lite",
+ "accessibility_protos_lite",
"com_android_server_accessibility_flags_lib",
"//frameworks/base/packages/SystemUI/aconfig:com_android_systemui_flags_lib",
],
@@ -71,17 +71,6 @@
aconfig_declarations: "com_android_server_accessibility_flags",
}
-java_library_static {
- name: "a11ychecker-protos-java-proto-lite",
- proto: {
- type: "lite",
- canonical_path_from_root: false,
- },
- srcs: [
- "java/**/a11ychecker/proto/*.proto",
- ],
-}
-
genrule {
name: "statslog-accessibility-java-gen",
tools: ["stats-log-api-gen"],
diff --git a/services/accessibility/java/com/android/server/accessibility/a11ychecker/AccessibilityCheckerManager.java b/services/accessibility/java/com/android/server/accessibility/a11ychecker/AccessibilityCheckerManager.java
index f7a59a4b..83f57b2 100644
--- a/services/accessibility/java/com/android/server/accessibility/a11ychecker/AccessibilityCheckerManager.java
+++ b/services/accessibility/java/com/android/server/accessibility/a11ychecker/AccessibilityCheckerManager.java
@@ -30,7 +30,6 @@
import com.android.internal.annotations.VisibleForTesting;
import com.android.server.accessibility.Flags;
-import com.android.server.accessibility.a11ychecker.A11yCheckerProto.AccessibilityCheckResultReported;
import com.google.android.apps.common.testing.accessibility.framework.AccessibilityCheckPreset;
import com.google.android.apps.common.testing.accessibility.framework.AccessibilityHierarchyCheck;
@@ -58,7 +57,7 @@
private final PackageManager mPackageManager;
private final Set<AccessibilityHierarchyCheck> mHierarchyChecks;
private final ATFHierarchyBuilder mATFHierarchyBuilder;
- private final Set<AccessibilityCheckResultReported> mCachedResults = new HashSet<>();
+ private final Set<AndroidAccessibilityCheckerResult> mCachedResults = new HashSet<>();
@VisibleForTesting
final A11yCheckerTimer mTimer = new A11yCheckerTimer();
@@ -85,14 +84,14 @@
* logging. Returns the check results for the given nodes.
*/
@RequiresPermission(allOf = {android.Manifest.permission.INTERACT_ACROSS_USERS_FULL})
- public Set<AccessibilityCheckResultReported> maybeRunA11yChecker(
+ public Set<AndroidAccessibilityCheckerResult> maybeRunA11yChecker(
List<AccessibilityNodeInfo> nodes, @Nullable String sourceEventClassName,
ComponentName a11yServiceComponentName, @UserIdInt int userId) {
if (!shouldRunA11yChecker()) {
return Set.of();
}
- Set<AccessibilityCheckResultReported> allResults = new HashSet<>();
+ Set<AndroidAccessibilityCheckerResult> allResults = new HashSet<>();
String defaultBrowserName = mPackageManager.getDefaultBrowserPackageNameAsUser(userId);
try {
@@ -104,7 +103,7 @@
continue;
}
List<AccessibilityHierarchyCheckResult> checkResults = runChecksOnNode(nodeInfo);
- Set<AccessibilityCheckResultReported> filteredResults =
+ Set<AndroidAccessibilityCheckerResult> filteredResults =
AccessibilityCheckerUtils.processResults(nodeInfo, checkResults,
sourceEventClassName, mPackageManager, a11yServiceComponentName);
allResults.addAll(filteredResults);
@@ -127,7 +126,7 @@
return checkResults;
}
- public Set<AccessibilityCheckResultReported> getCachedResults() {
+ public Set<AndroidAccessibilityCheckerResult> getCachedResults() {
return Collections.unmodifiableSet(mCachedResults);
}
diff --git a/services/accessibility/java/com/android/server/accessibility/a11ychecker/AccessibilityCheckerStatsdLogger.java b/services/accessibility/java/com/android/server/accessibility/a11ychecker/AccessibilityCheckerStatsdLogger.java
index 1b3ec5a..fa0bb59 100644
--- a/services/accessibility/java/com/android/server/accessibility/a11ychecker/AccessibilityCheckerStatsdLogger.java
+++ b/services/accessibility/java/com/android/server/accessibility/a11ychecker/AccessibilityCheckerStatsdLogger.java
@@ -16,10 +16,9 @@
package com.android.server.accessibility.a11ychecker;
+import android.text.TextUtils;
import android.util.Slog;
-import com.android.server.accessibility.a11ychecker.A11yCheckerProto.AccessibilityCheckResultReported;
-
import java.util.Set;
@@ -35,11 +34,11 @@
/**
* Writes results to statsd.
*/
- public static void logResults(Set<AccessibilityCheckResultReported> results) {
- Slog.i(LOG_TAG, String.format("Writing %d AccessibilityCheckResultReported events",
+ public static void logResults(Set<AndroidAccessibilityCheckerResult> results) {
+ Slog.i(LOG_TAG, TextUtils.formatSimple("Writing %d AccessibilityCheckResultReported events",
results.size()));
- for (AccessibilityCheckResultReported result : results) {
+ for (AndroidAccessibilityCheckerResult result : results) {
AccessibilityCheckerStatsLog.write(ATOM_ID,
result.getPackageName(),
result.getAppVersionCode(),
diff --git a/services/accessibility/java/com/android/server/accessibility/a11ychecker/AccessibilityCheckerUtils.java b/services/accessibility/java/com/android/server/accessibility/a11ychecker/AccessibilityCheckerUtils.java
index fa0fed2..eb24b027 100644
--- a/services/accessibility/java/com/android/server/accessibility/a11ychecker/AccessibilityCheckerUtils.java
+++ b/services/accessibility/java/com/android/server/accessibility/a11ychecker/AccessibilityCheckerUtils.java
@@ -17,6 +17,8 @@
package com.android.server.accessibility.a11ychecker;
+import android.accessibility.AccessibilityCheckClass;
+import android.accessibility.AccessibilityCheckResultType;
import android.annotation.Nullable;
import android.content.ComponentName;
import android.content.pm.PackageInfo;
@@ -25,9 +27,6 @@
import android.view.accessibility.AccessibilityNodeInfo;
import com.android.internal.annotations.VisibleForTesting;
-import com.android.server.accessibility.a11ychecker.A11yCheckerProto.AccessibilityCheckClass;
-import com.android.server.accessibility.a11ychecker.A11yCheckerProto.AccessibilityCheckResultReported;
-import com.android.server.accessibility.a11ychecker.A11yCheckerProto.AccessibilityCheckResultType;
import com.google.android.apps.common.testing.accessibility.framework.AccessibilityCheckResult;
import com.google.android.apps.common.testing.accessibility.framework.AccessibilityHierarchyCheck;
@@ -92,7 +91,7 @@
AccessibilityCheckClass.TRAVERSAL_ORDER_CHECK));
// LINT.ThenChange(/services/accessibility/java/com/android/server/accessibility/a11ychecker/proto/a11ychecker.proto)
- static Set<AccessibilityCheckResultReported> processResults(
+ static Set<AndroidAccessibilityCheckerResult> processResults(
AccessibilityNodeInfo nodeInfo,
List<AccessibilityHierarchyCheckResult> checkResults,
@Nullable String activityClassName,
@@ -103,16 +102,16 @@
if (nodePath == null) {
return Set.of();
}
- AccessibilityCheckResultReported.Builder builder;
+ AndroidAccessibilityCheckerResult.Builder commonBuilder;
try {
- builder = AccessibilityCheckResultReported.newBuilder()
+ commonBuilder = AndroidAccessibilityCheckerResult.newBuilder()
.setPackageName(appPackageName)
.setAppVersionCode(getAppVersionCode(packageManager, appPackageName))
.setUiElementPath(nodePath)
.setActivityName(
getActivityName(packageManager, appPackageName, activityClassName))
.setWindowTitle(getWindowTitle(nodeInfo))
- .setSourceComponentName(a11yServiceComponentName.flattenToString())
+ .setSourceComponentName(a11yServiceComponentName)
.setSourceVersionCode(
getAppVersionCode(packageManager,
a11yServiceComponentName.getPackageName()));
@@ -126,7 +125,8 @@
== AccessibilityCheckResult.AccessibilityCheckResultType.ERROR
|| checkResult.getType()
== AccessibilityCheckResult.AccessibilityCheckResultType.WARNING)
- .map(checkResult -> builder.setResultCheckClass(
+ .map(checkResult -> new AndroidAccessibilityCheckerResult.Builder(
+ commonBuilder).setResultCheckClass(
getCheckClass(checkResult)).setResultType(
getCheckResultType(checkResult)).setResultId(
checkResult.getResultId()).build())
@@ -188,9 +188,9 @@
private static AccessibilityCheckResultType getCheckResultType(
AccessibilityHierarchyCheckResult checkResult) {
return switch (checkResult.getType()) {
- case ERROR -> AccessibilityCheckResultType.ERROR;
- case WARNING -> AccessibilityCheckResultType.WARNING;
- default -> AccessibilityCheckResultType.UNKNOWN_RESULT_TYPE;
+ case ERROR -> AccessibilityCheckResultType.ERROR_CHECK_RESULT_TYPE;
+ case WARNING -> AccessibilityCheckResultType.WARNING_CHECK_RESULT_TYPE;
+ default -> AccessibilityCheckResultType.UNKNOWN_CHECK_RESULT_TYPE;
};
}
diff --git a/services/accessibility/java/com/android/server/accessibility/a11ychecker/AndroidAccessibilityCheckerResult.java b/services/accessibility/java/com/android/server/accessibility/a11ychecker/AndroidAccessibilityCheckerResult.java
new file mode 100644
index 0000000..c9cd9fe
--- /dev/null
+++ b/services/accessibility/java/com/android/server/accessibility/a11ychecker/AndroidAccessibilityCheckerResult.java
@@ -0,0 +1,196 @@
+/*
+ * Copyright 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.accessibility.a11ychecker;
+
+import android.accessibility.AccessibilityCheckClass;
+import android.accessibility.AccessibilityCheckResultType;
+import android.content.ComponentName;
+import android.text.TextUtils;
+
+public class AndroidAccessibilityCheckerResult implements Cloneable {
+ // Package name of the app containing the checked View.
+ private String mPackageName;
+ // Version code of the app containing the checked View.
+ private long mAppVersionCode;
+ // The path of the View starting from the root element in the window. Each element is
+ // represented by the View's resource id, when available, or the View's class name.
+ private String mUiElementPath;
+ // Class name of the activity containing the checked View.
+ private String mActivityName;
+ // Title of the window containing the checked View.
+ private String mWindowTitle;
+ // The component name of the app running the AccessibilityService which provided the a11y node.
+ private String mSourceComponentName;
+ // Version code of the app running the AccessibilityService that provided the a11y node.
+ private long mSourceVersionCode;
+ // Class Name of the AccessibilityCheck that produced the result.
+ private AccessibilityCheckClass mResultCheckClass;
+ // Result type of the AccessibilityCheckResult.
+ private AccessibilityCheckResultType mResultType;
+ // Result ID of the AccessibilityCheckResult.
+ private int mResultId;
+
+ static final class Builder {
+ private final AndroidAccessibilityCheckerResult mInstance;
+
+ Builder() {
+ mInstance = new AndroidAccessibilityCheckerResult();
+ }
+
+ Builder(Builder otherBuilder) {
+ mInstance = otherBuilder.mInstance.clone();
+ }
+
+ public Builder setPackageName(String packageName) {
+ mInstance.mPackageName = packageName;
+ return this;
+ }
+
+ public Builder setAppVersionCode(long versionCode) {
+ mInstance.mAppVersionCode = versionCode;
+ return this;
+ }
+
+ public Builder setUiElementPath(String uiElementPath) {
+ mInstance.mUiElementPath = uiElementPath;
+ return this;
+ }
+
+ public Builder setActivityName(String activityName) {
+ mInstance.mActivityName = activityName;
+ return this;
+ }
+
+ public Builder setWindowTitle(String windowTitle) {
+ mInstance.mWindowTitle = windowTitle;
+ return this;
+ }
+
+ public Builder setSourceComponentName(ComponentName componentName) {
+ mInstance.mSourceComponentName = componentName.flattenToString();
+ return this;
+ }
+
+ public Builder setSourceVersionCode(long versionCode) {
+ mInstance.mSourceVersionCode = versionCode;
+ return this;
+ }
+
+ public Builder setResultCheckClass(AccessibilityCheckClass checkClass) {
+ mInstance.mResultCheckClass = checkClass;
+ return this;
+ }
+
+ public Builder setResultType(AccessibilityCheckResultType resultType) {
+ mInstance.mResultType = resultType;
+ return this;
+ }
+
+ public Builder setResultId(int resultId) {
+ mInstance.mResultId = resultId;
+ return this;
+ }
+
+ public AndroidAccessibilityCheckerResult build() {
+ // TODO: assert all fields are set, etc
+ return mInstance;
+ }
+ }
+
+ static Builder newBuilder() {
+ return new Builder();
+ }
+
+ public String getPackageName() {
+ return mPackageName;
+ }
+
+ public long getAppVersionCode() {
+ return mAppVersionCode;
+ }
+
+ public String getUiElementPath() {
+ return mUiElementPath;
+ }
+
+ public String getActivityName() {
+ return mActivityName;
+ }
+
+ public String getWindowTitle() {
+ return mWindowTitle;
+ }
+
+ public String getSourceComponentName() {
+ return mSourceComponentName;
+ }
+
+ public long getSourceVersionCode() {
+ return mSourceVersionCode;
+ }
+
+ public AccessibilityCheckClass getResultCheckClass() {
+ return mResultCheckClass;
+ }
+
+ public AccessibilityCheckResultType getResultType() {
+ return mResultType;
+ }
+
+ public int getResultId() {
+ return mResultId;
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (!(other instanceof AndroidAccessibilityCheckerResult)) {
+ return false;
+ }
+ AndroidAccessibilityCheckerResult otherResult = (AndroidAccessibilityCheckerResult) other;
+ return mPackageName.equals(otherResult.mPackageName)
+ && mAppVersionCode == otherResult.mAppVersionCode
+ && mUiElementPath.equals(otherResult.mUiElementPath)
+ && mActivityName.equals(otherResult.mActivityName)
+ && mWindowTitle.equals(otherResult.mWindowTitle)
+ && mSourceComponentName.equals(otherResult.mSourceComponentName)
+ && mSourceVersionCode == otherResult.mSourceVersionCode
+ && mResultCheckClass.equals(otherResult.mResultCheckClass)
+ && mResultType.equals(otherResult.mResultType)
+ && mResultId == otherResult.mResultId;
+ }
+
+ @Override
+ public int hashCode() {
+ return toString().hashCode();
+ }
+
+ @Override
+ public String toString() {
+ return TextUtils.formatSimple("%s:%d:%s:%s:%s:%s:%d:%s:%s:%d", mPackageName,
+ mAppVersionCode, mUiElementPath, mActivityName, mWindowTitle, mSourceComponentName,
+ mSourceVersionCode, mResultCheckClass.name(), mResultType.name(), mResultId);
+ }
+
+ @Override
+ public AndroidAccessibilityCheckerResult clone() {
+ try {
+ return (AndroidAccessibilityCheckerResult) super.clone();
+ } catch (CloneNotSupportedException e) {
+ return null;
+ }
+ }
+}
diff --git a/services/accessibility/java/com/android/server/accessibility/a11ychecker/proto/a11ychecker.proto b/services/accessibility/java/com/android/server/accessibility/a11ychecker/proto/a11ychecker.proto
deleted file mode 100644
index 8beed4a..0000000
--- a/services/accessibility/java/com/android/server/accessibility/a11ychecker/proto/a11ychecker.proto
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2024 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-syntax = "proto2";
-package android.accessibility;
-
-option java_package = "com.android.server.accessibility.a11ychecker";
-option java_outer_classname = "A11yCheckerProto";
-
-// TODO(b/326385939): remove and replace usage with the atom extension proto, when submitted.
-/** Logs the result of an AccessibilityCheck. */
-message AccessibilityCheckResultReported {
- // Package name of the app containing the checked View.
- optional string package_name = 1;
- // Version code of the app containing the checked View.
- optional int64 app_version_code = 2;
- // The path of the View starting from the root element in the window. Each element is
- // represented by the View's resource id, when available, or the View's class name.
- optional string ui_element_path = 3;
- // Class name of the activity containing the checked View.
- optional string activity_name = 4;
- // Title of the window containing the checked View.
- optional string window_title = 5;
- // The flattened component name of the app running the AccessibilityService which provided the a11y node.
- optional string source_component_name = 6;
- // Version code of the app running the AccessibilityService that provided the a11y node.
- optional int64 source_version_code = 7;
- // Class Name of the AccessibilityCheck that produced the result.
- optional AccessibilityCheckClass result_check_class = 8;
- // Result type of the AccessibilityCheckResult.
- optional AccessibilityCheckResultType result_type = 9;
- // Result ID of the AccessibilityCheckResult.
- optional int32 result_id = 10;
-}
-
-/** The AccessibilityCheck class. */
-// LINT.IfChange
-enum AccessibilityCheckClass {
- UNKNOWN_CHECK = 0;
- CLASS_NAME_CHECK = 1;
- CLICKABLE_SPAN_CHECK = 2;
- DUPLICATE_CLICKABLE_BOUNDS_CHECK = 3;
- DUPLICATE_SPEAKABLE_TEXT_CHECK = 4;
- EDITABLE_CONTENT_DESC_CHECK = 5;
- IMAGE_CONTRAST_CHECK = 6;
- LINK_PURPOSE_UNCLEAR_CHECK = 7;
- REDUNDANT_DESCRIPTION_CHECK = 8;
- SPEAKABLE_TEXT_PRESENT_CHECK = 9;
- TEXT_CONTRAST_CHECK = 10;
- TEXT_SIZE_CHECK = 11;
- TOUCH_TARGET_SIZE_CHECK = 12;
- TRAVERSAL_ORDER_CHECK = 13;
-}
-// LINT.ThenChange(/services/accessibility/java/com/android/server/accessibility/a11ychecker/AccessibilityCheckerUtils.java)
-
-/** The type of AccessibilityCheckResult */
-enum AccessibilityCheckResultType {
- UNKNOWN_RESULT_TYPE = 0;
- ERROR = 1;
- WARNING = 2;
-}
diff --git a/services/tests/servicestests/Android.bp b/services/tests/servicestests/Android.bp
index 701c350..ace4b15 100644
--- a/services/tests/servicestests/Android.bp
+++ b/services/tests/servicestests/Android.bp
@@ -36,8 +36,8 @@
"-Werror",
],
static_libs: [
- "a11ychecker-protos-java-proto-lite",
"aatf",
+ "accessibility_protos_lite",
"cts-input-lib",
"frameworks-base-testutils",
"services.accessibility",
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/a11ychecker/AccessibilityCheckerManagerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/a11ychecker/AccessibilityCheckerManagerTest.java
index c1b3929..5ee86ffa 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/a11ychecker/AccessibilityCheckerManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/a11ychecker/AccessibilityCheckerManagerTest.java
@@ -23,7 +23,7 @@
import static com.android.server.accessibility.a11ychecker.TestUtils.TEST_A11Y_SERVICE_SOURCE_PACKAGE_NAME;
import static com.android.server.accessibility.a11ychecker.TestUtils.TEST_ACTIVITY_NAME;
import static com.android.server.accessibility.a11ychecker.TestUtils.TEST_DEFAULT_BROWSER;
-import static com.android.server.accessibility.a11ychecker.TestUtils.createAtom;
+import static com.android.server.accessibility.a11ychecker.TestUtils.createResult;
import static com.android.server.accessibility.a11ychecker.TestUtils.getMockPackageManagerWithInstalledApps;
import static com.google.common.truth.Truth.assertThat;
@@ -32,6 +32,8 @@
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import android.accessibility.AccessibilityCheckClass;
+import android.accessibility.AccessibilityCheckResultType;
import android.content.ComponentName;
import android.content.pm.PackageManager;
import android.platform.test.annotations.DisableFlags;
@@ -112,19 +114,19 @@
.setViewIdResourceName("node2")
.build();
- Set<A11yCheckerProto.AccessibilityCheckResultReported> results =
+ Set<AndroidAccessibilityCheckerResult> results =
mAccessibilityCheckerManager.maybeRunA11yChecker(
List.of(mockNodeInfo1, mockNodeInfo2), QUALIFIED_TEST_ACTIVITY_NAME,
new ComponentName(TEST_A11Y_SERVICE_SOURCE_PACKAGE_NAME,
TEST_A11Y_SERVICE_CLASS_NAME), /*userId=*/ 0);
assertThat(results).containsExactly(
- createAtom(/*viewIdResourceName=*/ "node1", TEST_ACTIVITY_NAME,
- A11yCheckerProto.AccessibilityCheckClass.TOUCH_TARGET_SIZE_CHECK,
- A11yCheckerProto.AccessibilityCheckResultType.ERROR, /*resultId=*/ 2),
- createAtom(/*viewIdResourceName=*/ "node2", TEST_ACTIVITY_NAME,
- A11yCheckerProto.AccessibilityCheckClass.TOUCH_TARGET_SIZE_CHECK,
- A11yCheckerProto.AccessibilityCheckResultType.ERROR, /*resultId=*/ 2)
+ createResult(/*viewIdResourceName=*/ "node1", TEST_ACTIVITY_NAME,
+ AccessibilityCheckClass.TOUCH_TARGET_SIZE_CHECK,
+ AccessibilityCheckResultType.ERROR_CHECK_RESULT_TYPE, /*resultId=*/ 2),
+ createResult(/*viewIdResourceName=*/ "node2", TEST_ACTIVITY_NAME,
+ AccessibilityCheckClass.TOUCH_TARGET_SIZE_CHECK,
+ AccessibilityCheckResultType.ERROR_CHECK_RESULT_TYPE, /*resultId=*/ 2)
);
}
@@ -137,7 +139,7 @@
.setViewIdResourceName("node1")
.build();
- Set<A11yCheckerProto.AccessibilityCheckResultReported> results =
+ Set<AndroidAccessibilityCheckerResult> results =
mAccessibilityCheckerManager.maybeRunA11yChecker(
List.of(mockNodeInfo), QUALIFIED_TEST_ACTIVITY_NAME,
new ComponentName(TEST_A11Y_SERVICE_SOURCE_PACKAGE_NAME,
@@ -158,16 +160,17 @@
.setViewIdResourceName("node1")
.build();
- Set<A11yCheckerProto.AccessibilityCheckResultReported> results =
+ Set<AndroidAccessibilityCheckerResult> results =
mAccessibilityCheckerManager.maybeRunA11yChecker(
List.of(mockNodeInfo, mockNodeInfoDuplicate), QUALIFIED_TEST_ACTIVITY_NAME,
new ComponentName(TEST_A11Y_SERVICE_SOURCE_PACKAGE_NAME,
TEST_A11Y_SERVICE_CLASS_NAME), /*userId=*/ 0);
assertThat(results).containsExactly(
- createAtom(/*viewIdResourceName=*/ "node1", TEST_ACTIVITY_NAME,
- A11yCheckerProto.AccessibilityCheckClass.TOUCH_TARGET_SIZE_CHECK,
- A11yCheckerProto.AccessibilityCheckResultType.ERROR, /*resultId=*/ 2)
+ createResult(/*viewIdResourceName=*/ "node1", TEST_ACTIVITY_NAME,
+ AccessibilityCheckClass.TOUCH_TARGET_SIZE_CHECK,
+ AccessibilityCheckResultType.ERROR_CHECK_RESULT_TYPE, /*resultId=*/
+ 2)
);
}
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/a11ychecker/AccessibilityCheckerUtilsTest.java b/services/tests/servicestests/src/com/android/server/accessibility/a11ychecker/AccessibilityCheckerUtilsTest.java
index 5b4e72e..4ec2fb9 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/a11ychecker/AccessibilityCheckerUtilsTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/a11ychecker/AccessibilityCheckerUtilsTest.java
@@ -21,13 +21,15 @@
import static com.android.server.accessibility.a11ychecker.TestUtils.TEST_A11Y_SERVICE_SOURCE_PACKAGE_NAME;
import static com.android.server.accessibility.a11ychecker.TestUtils.TEST_ACTIVITY_NAME;
import static com.android.server.accessibility.a11ychecker.TestUtils.TEST_APP_PACKAGE_NAME;
-import static com.android.server.accessibility.a11ychecker.TestUtils.createAtom;
+import static com.android.server.accessibility.a11ychecker.TestUtils.createResult;
import static com.android.server.accessibility.a11ychecker.TestUtils.getMockPackageManagerWithInstalledApps;
import static com.google.common.truth.Truth.assertThat;
import static org.mockito.Mockito.when;
+import android.accessibility.AccessibilityCheckClass;
+import android.accessibility.AccessibilityCheckResultType;
import android.content.ComponentName;
import android.content.pm.PackageManager;
import android.view.accessibility.AccessibilityNodeInfo;
@@ -87,7 +89,7 @@
AccessibilityCheckResult.AccessibilityCheckResultType.NOT_RUN, null, 5,
null);
- Set<A11yCheckerProto.AccessibilityCheckResultReported> atoms =
+ Set<AndroidAccessibilityCheckerResult> results =
AccessibilityCheckerUtils.processResults(
mockNodeInfo,
List.of(result1, result2, result3, result4),
@@ -96,13 +98,13 @@
new ComponentName(TEST_A11Y_SERVICE_SOURCE_PACKAGE_NAME,
TEST_A11Y_SERVICE_CLASS_NAME));
- assertThat(atoms).containsExactly(
- createAtom("TargetNode", "",
- A11yCheckerProto.AccessibilityCheckClass.SPEAKABLE_TEXT_PRESENT_CHECK,
- A11yCheckerProto.AccessibilityCheckResultType.WARNING, 1),
- createAtom("TargetNode", "",
- A11yCheckerProto.AccessibilityCheckClass.TOUCH_TARGET_SIZE_CHECK,
- A11yCheckerProto.AccessibilityCheckResultType.ERROR, 2)
+ assertThat(results).containsExactly(
+ createResult("TargetNode", "",
+ AccessibilityCheckClass.SPEAKABLE_TEXT_PRESENT_CHECK,
+ AccessibilityCheckResultType.WARNING_CHECK_RESULT_TYPE, 1),
+ createResult("TargetNode", "",
+ AccessibilityCheckClass.TOUCH_TARGET_SIZE_CHECK,
+ AccessibilityCheckResultType.ERROR_CHECK_RESULT_TYPE, 2)
);
}
@@ -126,7 +128,7 @@
TouchTargetSizeCheck.class,
AccessibilityCheckResult.AccessibilityCheckResultType.ERROR, null, 2, null);
- Set<A11yCheckerProto.AccessibilityCheckResultReported> atoms =
+ Set<AndroidAccessibilityCheckerResult> results =
AccessibilityCheckerUtils.processResults(
mockNodeInfo,
List.of(result1, result2),
@@ -135,7 +137,7 @@
new ComponentName(TEST_A11Y_SERVICE_SOURCE_PACKAGE_NAME,
TEST_A11Y_SERVICE_CLASS_NAME));
- assertThat(atoms).isEmpty();
+ assertThat(results).isEmpty();
}
@Test
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/a11ychecker/TestUtils.java b/services/tests/servicestests/src/com/android/server/accessibility/a11ychecker/TestUtils.java
index acf64b6..8e0b2ed 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/a11ychecker/TestUtils.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/a11ychecker/TestUtils.java
@@ -20,6 +20,8 @@
import static org.mockito.Mockito.anyInt;
import static org.mockito.Mockito.when;
+import android.accessibility.AccessibilityCheckClass;
+import android.accessibility.AccessibilityCheckResultType;
import android.annotation.Nullable;
import android.content.ComponentName;
import android.content.pm.ActivityInfo;
@@ -90,20 +92,20 @@
return accessibilityEvent;
}
- static A11yCheckerProto.AccessibilityCheckResultReported createAtom(
+ static AndroidAccessibilityCheckerResult createResult(
String viewIdResourceName,
String activityName,
- A11yCheckerProto.AccessibilityCheckClass checkClass,
- A11yCheckerProto.AccessibilityCheckResultType resultType,
+ AccessibilityCheckClass checkClass,
+ AccessibilityCheckResultType resultType,
int resultId) {
- return A11yCheckerProto.AccessibilityCheckResultReported.newBuilder()
+ return AndroidAccessibilityCheckerResult.newBuilder()
.setPackageName(TEST_APP_PACKAGE_NAME)
.setAppVersionCode(TEST_APP_VERSION_CODE)
.setUiElementPath(TEST_APP_PACKAGE_NAME + ":" + viewIdResourceName)
.setWindowTitle(TEST_WINDOW_TITLE)
.setActivityName(activityName)
.setSourceComponentName(new ComponentName(TEST_A11Y_SERVICE_SOURCE_PACKAGE_NAME,
- TEST_A11Y_SERVICE_CLASS_NAME).flattenToString())
+ TEST_A11Y_SERVICE_CLASS_NAME))
.setSourceVersionCode(TEST_A11Y_SERVICE_SOURCE_VERSION_CODE)
.setResultCheckClass(checkClass)
.setResultType(resultType)