diff options
author | 2025-01-28 17:44:00 -0500 | |
---|---|---|
committer | 2025-01-28 17:44:00 -0500 | |
commit | 5a41c27228f3ca1e28d70627f8efa6f170197afb (patch) | |
tree | da1dfb29d64c85eba3fd81dfd12347ba932dd41d | |
parent | efc34112143fc62d0915f26f0af84f28e5a845c5 (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.java | 8 |
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(); |