ShortcutManagre: foreground check, more tests.
Test: Manual test and all the unit tests:
adb shell am instrument -e class com.android.server.pm.ShortcutManagerTest1 -w com.android.frameworks.servicestests
... to test8
Bug 32908854
Change-Id: I30ba421e9730741776c1936e40ccf7b7431289da
diff --git a/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java b/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java
index 8ecea71..a664f21 100644
--- a/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java
+++ b/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java
@@ -934,6 +934,16 @@
return this;
}
+ public ShortcutListAsserter areAllWithIntent() {
+ forAllShortcuts(s -> assertNotNull("id=" + s.getId(), s.getIntent()));
+ return this;
+ }
+
+ public ShortcutListAsserter areAllWithNoIntent() {
+ forAllShortcuts(s -> assertNull("id=" + s.getId(), s.getIntent()));
+ return this;
+ }
+
public ShortcutListAsserter forAllShortcuts(Consumer<ShortcutInfo> sa) {
boolean found = false;
for (int i = 0; i < mList.size(); i++) {
@@ -1092,6 +1102,16 @@
return asserter;
}
+ public static LauncherCallbackAsserter assertForLauncherCallbackNoThrow(
+ LauncherApps launcherApps, Runnable body) {
+ try {
+ return assertForLauncherCallback(launcherApps, body);
+ } catch (InterruptedException e) {
+ fail("Caught InterruptedException");
+ return null; // Never happens.
+ }
+ }
+
public static void retryUntil(BooleanSupplier checker, String message) {
retryUntil(checker, message, 30);
}