Disable notification tests on watches and TVs.
These platforms lack the Notification Listener Settings UI,
so it is impossible to test them.
Bug: 18149810
Change-Id: Ifaa9925469a7fdf15e02ccd703ddfb904fc7b743
diff --git a/apps/CtsVerifier/res/values-television/strings.xml b/apps/CtsVerifier/res/values-television/strings.xml
new file mode 100644
index 0000000..1042fa8
--- /dev/null
+++ b/apps/CtsVerifier/res/values-television/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 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.
+-->
+<resources>
+ <!-- Don't test these features on televisions. -->
+ <string-array name="disabled_tests">
+ <item>com.android.cts.verifier.notifications.NotificationAttentionManagementVerifierActivity</item>
+ <item>com.android.cts.verifier.notifications.NotificationListenerVerifierActivity</item>
+ </string-array>
+</resources>
\ No newline at end of file
diff --git a/apps/CtsVerifier/res/values-watch/strings.xml b/apps/CtsVerifier/res/values-watch/strings.xml
new file mode 100644
index 0000000..1f25b04
--- /dev/null
+++ b/apps/CtsVerifier/res/values-watch/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 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.
+-->
+<resources>
+ <!-- Don't test these features on watches. -->
+ <string-array name="disabled_tests">
+ <item>com.android.cts.verifier.notifications.NotificationAttentionManagementVerifierActivity</item>
+ <item>com.android.cts.verifier.notifications.NotificationListenerVerifierActivity</item>
+ </string-array>
+</resources>
\ No newline at end of file
diff --git a/apps/CtsVerifier/res/values/strings.xml b/apps/CtsVerifier/res/values/strings.xml
index fa86474..c2ddbf1 100644
--- a/apps/CtsVerifier/res/values/strings.xml
+++ b/apps/CtsVerifier/res/values/strings.xml
@@ -1290,4 +1290,8 @@
<string name="js_unmetered_connectivity_test">Device with no connectivity will not execute a job with an unmetered connectivity constraint.</string>
<string name="js_any_connectivity_test">Device with no connectivity will not execute a job with an unmetered connectivity constraint.</string>
<string name="js_no_connectivity_test">Device with no connectivity will still execute a job with no connectivity constraints.</string>
+
+ <!-- A list of fully-qualified test classes that should not be run. -->
+ <string-array name="disabled_tests" />
+
</resources>
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/ManifestTestListAdapter.java b/apps/CtsVerifier/src/com/android/cts/verifier/ManifestTestListAdapter.java
index 2f42e81..2d7d6ba 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/ManifestTestListAdapter.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/ManifestTestListAdapter.java
@@ -22,12 +22,14 @@
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.os.Bundle;
+import android.util.Log;
import android.widget.ListView;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -88,6 +90,8 @@
private static final String TEST_EXCLUDED_FEATURES_META_DATA = "test_excluded_features";
+ private final HashSet<String> mDisabledTests;
+
private Context mContext;
private String mTestParent;
@@ -96,6 +100,12 @@
super(context);
mContext = context;
mTestParent = testParent;
+
+ String[] disabledTestArray = context.getResources().getStringArray(R.array.disabled_tests);
+ mDisabledTests = new HashSet<>(disabledTestArray.length);
+ for (int i = 0; i < disabledTestArray.length; i++) {
+ mDisabledTests.add(disabledTestArray[i]);
+ }
}
@Override
@@ -158,6 +168,10 @@
int size = list.size();
for (int i = 0; i < size; i++) {
ResolveInfo info = list.get(i);
+ if (info.activityInfo == null || mDisabledTests.contains(info.activityInfo.name)) {
+ Log.w("CtsVerifier", "ignoring disabled test: " + info.activityInfo.name);
+ continue;
+ }
String title = getTitle(mContext, info.activityInfo);
String testName = info.activityInfo.name;
Intent intent = getActivityIntent(info.activityInfo);