summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yuri Lin <yurilin@google.com> 2025-01-28 17:44:00 -0500
committer Yuri Lin <yurilin@google.com> 2025-01-28 17:44:00 -0500
commit5a41c27228f3ca1e28d70627f8efa6f170197afb (patch)
treeda1dfb29d64c85eba3fd81dfd12347ba932dd41d
parentefc34112143fc62d0915f26f0af84f28e5a845c5 (diff)
Skip invalidating caches in NotificationManagerServiceTest
The IpcDataCaches used in NotificationManager and invalidated in PreferencesHelper cannot be invalidated in test processes unless the caches are set to test mode. Since this test is not intending to test caching behavior, make sure the component PreferencesHelper doesn't try to invalidate real caches when the test is running. Most tests in NMSTest use the mock PreferencesHelper anyway, but some do go through the "real" PreferencesHelper object created in TestableNotificationManagerService.init(). Flag: android.app.nm_binder_perf_cache_channels Bug: 381131846 Test: this Change-Id: I2f1922b2c5e038b256572add3b7d8514e11562c6
-rw-r--r--services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
index a8fcadd9dd74..a512552003e0 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
@@ -24,6 +24,7 @@ import static android.app.ActivityManagerInternal.ServiceNotificationPolicy.NOT_
import static android.app.ActivityManagerInternal.ServiceNotificationPolicy.SHOW_IMMEDIATELY;
import static android.app.ActivityTaskManager.INVALID_TASK_ID;
import static android.app.Flags.FLAG_KEYGUARD_PRIVATE_NOTIFICATIONS;
+import static android.app.Flags.FLAG_NM_BINDER_PERF_CACHE_CHANNELS;
import static android.app.Flags.FLAG_REDACT_SENSITIVE_CONTENT_NOTIFICATIONS_ON_LOCKSCREEN;
import static android.app.Flags.FLAG_SORT_SECTION_BY_TIME;
import static android.app.Notification.EXTRA_ALLOW_DURING_SETUP;
@@ -604,7 +605,7 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
@Parameters(name = "{0}")
public static List<FlagsParameterization> getParams() {
return FlagsParameterization.allCombinationsOf(
- FLAG_NOTIFICATION_CLASSIFICATION);
+ FLAG_NOTIFICATION_CLASSIFICATION, FLAG_NM_BINDER_PERF_CACHE_CHANNELS);
}
public NotificationManagerServiceTest(FlagsParameterization flags) {
@@ -826,6 +827,11 @@ public class NotificationManagerServiceTest extends UiServiceTestCase {
mService.setAttentionHelper(mAttentionHelper);
mService.setLockPatternUtils(mock(LockPatternUtils.class));
+ // make sure PreferencesHelper doesn't try to interact with any real caches
+ PreferencesHelper prefHelper = spy(mService.mPreferencesHelper);
+ doNothing().when(prefHelper).invalidateNotificationChannelCache();
+ mService.setPreferencesHelper(prefHelper);
+
// Return first true for RoleObserver main-thread check
when(mMainLooper.isCurrentThread()).thenReturn(true).thenReturn(false);
ModuleInfo moduleInfo = new ModuleInfo();