diff options
| -rw-r--r-- | services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java | 814 |
1 files changed, 412 insertions, 402 deletions
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java b/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java index b2a54010e75e..cb41769c3619 100644 --- a/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java @@ -55,14 +55,13 @@ import static junit.framework.TestCase.fail; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertNull; import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.atLeastOnce; -import static org.mockito.Mockito.doNothing; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; +import static org.mockito.Mockito.notNull; import static org.mockito.Mockito.reset; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; @@ -149,7 +148,7 @@ public class ZenModeHelperTest extends UiServiceTestCase { @Mock PackageManager mPackageManager; private Resources mResources; private TestableLooper mTestableLooper; - private ZenModeHelper mZenModeHelperSpy; + private ZenModeHelper mZenModeHelper; private ContentResolver mContentResolver; @Mock AppOpsManager mAppOps; private WrappedSysUiStatsEvent.WrappedBuilderFactory mStatsEventBuilderFactory; @@ -176,8 +175,8 @@ public class ZenModeHelperTest extends UiServiceTestCase { mConditionProviders = new ConditionProviders(mContext, new UserProfiles(), AppGlobals.getPackageManager()); mConditionProviders.addSystemProvider(new CountdownConditionProvider()); - mZenModeHelperSpy = spy(new ZenModeHelper(mContext, mTestableLooper.getLooper(), - mConditionProviders, mStatsEventBuilderFactory)); + mZenModeHelper = new ZenModeHelper(mContext, mTestableLooper.getLooper(), + mConditionProviders, mStatsEventBuilderFactory); ResolveInfo ri = new ResolveInfo(); ri.activityInfo = new ActivityInfo(); @@ -187,7 +186,7 @@ public class ZenModeHelperTest extends UiServiceTestCase { .thenReturn(CUSTOM_PKG_UID); when(mPackageManager.getPackagesForUid(anyInt())).thenReturn( new String[] {pkg}); - mZenModeHelperSpy.mPm = mPackageManager; + mZenModeHelper.mPm = mPackageManager; } private XmlResourceParser getDefaultConfigParser() throws IOException, XmlPullParserException { @@ -221,10 +220,10 @@ public class ZenModeHelperTest extends UiServiceTestCase { ByteArrayOutputStream baos = new ByteArrayOutputStream(); serializer.setOutput(new BufferedOutputStream(baos), "utf-8"); serializer.startDocument(null, true); - mZenModeHelperSpy.writeXml(serializer, false, version, UserHandle.USER_ALL); + mZenModeHelper.writeXml(serializer, false, version, UserHandle.USER_ALL); serializer.endDocument(); serializer.flush(); - mZenModeHelperSpy.setConfig(new ZenModeConfig(), null, "writing xml"); + mZenModeHelper.setConfig(new ZenModeConfig(), null, "writing xml"); return baos; } @@ -234,12 +233,12 @@ public class ZenModeHelperTest extends UiServiceTestCase { ByteArrayOutputStream baos = new ByteArrayOutputStream(); serializer.setOutput(new BufferedOutputStream(baos), "utf-8"); serializer.startDocument(null, true); - mZenModeHelperSpy.writeXml(serializer, true, version, userId); + mZenModeHelper.writeXml(serializer, true, version, userId); serializer.endDocument(); serializer.flush(); ZenModeConfig newConfig = new ZenModeConfig(); newConfig.user = userId; - mZenModeHelperSpy.setConfig(newConfig, null, "writing xml"); + mZenModeHelper.setConfig(newConfig, null, "writing xml"); return baos; } @@ -277,209 +276,209 @@ public class ZenModeHelperTest extends UiServiceTestCase { return customRule; } + // Verify that the appropriate appOpps operations are called for the restrictions requested. + // Note that this method assumes that priority only DND exempt packages is set to something + // in order to be able to distinguish it from the null case, so callers should make sure + // setPriorityOnlyDndExemptPackages has been called bofre this verify statement. + private void verifyApplyRestrictions(boolean zenPriorityOnly, boolean mute, int usage) { + int expectedMode = mute ? AppOpsManager.MODE_IGNORED : AppOpsManager.MODE_ALLOWED; + verify(mAppOps, atLeastOnce()).setRestriction(eq(AppOpsManager.OP_VIBRATE), eq(usage), + eq(expectedMode), zenPriorityOnly ? notNull() : eq(null)); + verify(mAppOps, atLeastOnce()).setRestriction(eq(AppOpsManager.OP_PLAY_AUDIO), eq(usage), + eq(expectedMode), zenPriorityOnly ? notNull() : eq(null)); + } + @Test public void testZenOff_NoMuteApplied() { - mZenModeHelperSpy.mZenMode = Settings.Global.ZEN_MODE_OFF; - mZenModeHelperSpy.mConsolidatedPolicy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS | - PRIORITY_CATEGORY_MEDIA, 0, 0, 0, 0, 0); - mZenModeHelperSpy.applyRestrictions(); + mZenModeHelper.mZenMode = Settings.Global.ZEN_MODE_OFF; + mZenModeHelper.setPriorityOnlyDndExemptPackages(new String[] {PKG_O}); + mZenModeHelper.mConsolidatedPolicy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS + | PRIORITY_CATEGORY_MEDIA, 0, 0, 0, 0, 0); + mZenModeHelper.applyRestrictions(); - doNothing().when(mZenModeHelperSpy).applyRestrictions(eq(false), anyBoolean(), anyInt()); - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(false, false, - AudioAttributes.USAGE_ALARM); - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(false, false, - AudioAttributes.USAGE_MEDIA); + // Check that we call through to applyRestrictions with usages USAGE_ALARM and USAGE_MEDIA + verifyApplyRestrictions(false, false, AudioAttributes.USAGE_ALARM); + verifyApplyRestrictions(false, false, AudioAttributes.USAGE_MEDIA); } @Test public void testZenOn_NotificationApplied() { - mZenModeHelperSpy.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.setPriorityOnlyDndExemptPackages(new String[] {PKG_O}); // The most permissive policy - mZenModeHelperSpy.mConsolidatedPolicy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS | - PRIORITY_CATEGORY_MEDIA | PRIORITY_CATEGORY_MESSAGES + mZenModeHelper.mConsolidatedPolicy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS + | PRIORITY_CATEGORY_MEDIA | PRIORITY_CATEGORY_MESSAGES | PRIORITY_CATEGORY_CONVERSATIONS | PRIORITY_CATEGORY_CALLS | PRIORITY_CATEGORY_ALARMS | PRIORITY_CATEGORY_EVENTS | PRIORITY_CATEGORY_REMINDERS | PRIORITY_CATEGORY_REPEAT_CALLERS | PRIORITY_CATEGORY_SYSTEM, PRIORITY_SENDERS_ANY, PRIORITY_SENDERS_ANY, 0, CONVERSATION_SENDERS_ANYONE); - mZenModeHelperSpy.applyRestrictions(); - - doNothing().when(mZenModeHelperSpy).applyRestrictions(anyBoolean(), anyBoolean(), anyInt()); - verify(mZenModeHelperSpy).applyRestrictions(true, true, - AudioAttributes.USAGE_NOTIFICATION); - verify(mZenModeHelperSpy).applyRestrictions(true, true, - AudioAttributes.USAGE_NOTIFICATION_EVENT); - verify(mZenModeHelperSpy).applyRestrictions(true, true, + mZenModeHelper.applyRestrictions(); + + verifyApplyRestrictions(true, true, AudioAttributes.USAGE_NOTIFICATION); + verifyApplyRestrictions(true, true, AudioAttributes.USAGE_NOTIFICATION_EVENT); + verifyApplyRestrictions(true, true, AudioAttributes.USAGE_NOTIFICATION_COMMUNICATION_DELAYED); - verify(mZenModeHelperSpy).applyRestrictions(true, true, + verifyApplyRestrictions(true, true, AudioAttributes.USAGE_NOTIFICATION_COMMUNICATION_INSTANT); } @Test public void testZenOn_StarredCallers_CallTypesBlocked() { - mZenModeHelperSpy.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.setPriorityOnlyDndExemptPackages(new String[] {PKG_O}); // The most permissive policy - mZenModeHelperSpy.mConsolidatedPolicy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS | - PRIORITY_CATEGORY_MEDIA | PRIORITY_CATEGORY_MESSAGES + mZenModeHelper.mConsolidatedPolicy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS + | PRIORITY_CATEGORY_MEDIA | PRIORITY_CATEGORY_MESSAGES | PRIORITY_CATEGORY_CONVERSATIONS | PRIORITY_CATEGORY_CALLS | PRIORITY_CATEGORY_ALARMS | PRIORITY_CATEGORY_EVENTS | PRIORITY_CATEGORY_REMINDERS | PRIORITY_CATEGORY_SYSTEM, PRIORITY_SENDERS_STARRED, PRIORITY_SENDERS_ANY, 0, CONVERSATION_SENDERS_ANYONE); - mZenModeHelperSpy.applyRestrictions(); + mZenModeHelper.applyRestrictions(); - doNothing().when(mZenModeHelperSpy).applyRestrictions(anyBoolean(), anyBoolean(), anyInt()); - verify(mZenModeHelperSpy).applyRestrictions(true, true, + verifyApplyRestrictions(true, true, AudioAttributes.USAGE_NOTIFICATION_RINGTONE); - verify(mZenModeHelperSpy).applyRestrictions(true, true, + verifyApplyRestrictions(true, true, AudioAttributes.USAGE_NOTIFICATION_COMMUNICATION_REQUEST); } @Test public void testZenOn_AllCallers_CallTypesAllowed() { - mZenModeHelperSpy.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.setPriorityOnlyDndExemptPackages(new String[] {PKG_O}); // The most permissive policy - mZenModeHelperSpy.mConsolidatedPolicy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS | - PRIORITY_CATEGORY_MEDIA | PRIORITY_CATEGORY_MESSAGES + mZenModeHelper.mConsolidatedPolicy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS + | PRIORITY_CATEGORY_MEDIA | PRIORITY_CATEGORY_MESSAGES | PRIORITY_CATEGORY_CONVERSATIONS | PRIORITY_CATEGORY_CALLS | PRIORITY_CATEGORY_ALARMS | PRIORITY_CATEGORY_EVENTS | PRIORITY_CATEGORY_REMINDERS | PRIORITY_CATEGORY_REPEAT_CALLERS | PRIORITY_CATEGORY_SYSTEM, PRIORITY_SENDERS_ANY, PRIORITY_SENDERS_ANY, 0, CONVERSATION_SENDERS_ANYONE); - mZenModeHelperSpy.applyRestrictions(); + mZenModeHelper.applyRestrictions(); - doNothing().when(mZenModeHelperSpy).applyRestrictions(anyBoolean(), anyBoolean(), anyInt()); - verify(mZenModeHelperSpy).applyRestrictions(true, false, - AudioAttributes.USAGE_NOTIFICATION_RINGTONE); - verify(mZenModeHelperSpy).applyRestrictions(true, false, + verifyApplyRestrictions(true, false, AudioAttributes.USAGE_NOTIFICATION_RINGTONE); + verifyApplyRestrictions(true, false, AudioAttributes.USAGE_NOTIFICATION_COMMUNICATION_REQUEST); } @Test public void testZenOn_AllowAlarmsMedia_NoAlarmMediaMuteApplied() { - mZenModeHelperSpy.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; - mZenModeHelperSpy.mConsolidatedPolicy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS | - PRIORITY_CATEGORY_MEDIA, 0, 0, 0, 0, 0); + mZenModeHelper.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.setPriorityOnlyDndExemptPackages(new String[] {PKG_O}); + mZenModeHelper.mConsolidatedPolicy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS + | PRIORITY_CATEGORY_MEDIA, 0, 0, 0, 0, 0); - mZenModeHelperSpy.applyRestrictions(); - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(true, false, - AudioAttributes.USAGE_ALARM); - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(true, false, - AudioAttributes.USAGE_MEDIA); + mZenModeHelper.applyRestrictions(); + verifyApplyRestrictions(true, false, AudioAttributes.USAGE_ALARM); + verifyApplyRestrictions(true, false, AudioAttributes.USAGE_MEDIA); } @Test public void testZenOn_DisallowAlarmsMedia_AlarmMediaMuteApplied() { - mZenModeHelperSpy.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; - mZenModeHelperSpy.mConsolidatedPolicy = new Policy(0, 0, 0, 0, 0, 0); - mZenModeHelperSpy.applyRestrictions(); - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(true, true, - AudioAttributes.USAGE_ALARM); + mZenModeHelper.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.setPriorityOnlyDndExemptPackages(new String[] {PKG_O}); + mZenModeHelper.mConsolidatedPolicy = new Policy(0, 0, 0, 0, 0, 0); + mZenModeHelper.applyRestrictions(); + verifyApplyRestrictions(true, true, AudioAttributes.USAGE_ALARM); // Media is a catch-all that includes games - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(true, true, - AudioAttributes.USAGE_MEDIA); - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(true, true, - AudioAttributes.USAGE_GAME); + verifyApplyRestrictions(true, true, AudioAttributes.USAGE_MEDIA); + verifyApplyRestrictions(true, true, AudioAttributes.USAGE_GAME); } @Test public void testTotalSilence() { - mZenModeHelperSpy.mZenMode = Settings.Global.ZEN_MODE_NO_INTERRUPTIONS; - mZenModeHelperSpy.mConsolidatedPolicy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS | - PRIORITY_CATEGORY_MEDIA, 0, 0, 0, 0, 0); - mZenModeHelperSpy.applyRestrictions(); + mZenModeHelper.mZenMode = Settings.Global.ZEN_MODE_NO_INTERRUPTIONS; + mZenModeHelper.setPriorityOnlyDndExemptPackages(new String[] {PKG_O}); + mZenModeHelper.mConsolidatedPolicy = new Policy(Policy.PRIORITY_CATEGORY_ALARMS + | PRIORITY_CATEGORY_MEDIA, 0, 0, 0, 0, 0); + mZenModeHelper.applyRestrictions(); // Total silence will silence alarms, media and system noises (but not vibrations) - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(false, true, - AudioAttributes.USAGE_ALARM); - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(false, true, - AudioAttributes.USAGE_MEDIA); - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(false, true, - AudioAttributes.USAGE_GAME); - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(false, true, - AudioAttributes.USAGE_ASSISTANCE_SONIFICATION, AppOpsManager.OP_PLAY_AUDIO); - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(false, false, - AudioAttributes.USAGE_ASSISTANCE_SONIFICATION, AppOpsManager.OP_VIBRATE); - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(false, true, - AudioAttributes.USAGE_UNKNOWN); + verifyApplyRestrictions(false, true, AudioAttributes.USAGE_ALARM); + verifyApplyRestrictions(false, true, AudioAttributes.USAGE_MEDIA); + verifyApplyRestrictions(false, true, AudioAttributes.USAGE_GAME); + verify(mAppOps, atLeastOnce()).setRestriction(AppOpsManager.OP_PLAY_AUDIO, + AudioAttributes.USAGE_ASSISTANCE_SONIFICATION, AppOpsManager.MODE_IGNORED, null); + verify(mAppOps, atLeastOnce()).setRestriction(AppOpsManager.OP_VIBRATE, + AudioAttributes.USAGE_ASSISTANCE_SONIFICATION, AppOpsManager.MODE_ALLOWED, null); + verifyApplyRestrictions(false, true, AudioAttributes.USAGE_UNKNOWN); } @Test public void testAlarmsOnly_alarmMediaMuteNotApplied() { - mZenModeHelperSpy.mZenMode = Settings.Global.ZEN_MODE_ALARMS; - mZenModeHelperSpy.mConsolidatedPolicy = new Policy(0, 0, 0, 0, 0, 0); - mZenModeHelperSpy.applyRestrictions(); + mZenModeHelper.mZenMode = Settings.Global.ZEN_MODE_ALARMS; + mZenModeHelper.setPriorityOnlyDndExemptPackages(new String[] {PKG_O}); + mZenModeHelper.mConsolidatedPolicy = new Policy(0, 0, 0, 0, 0, 0); + mZenModeHelper.applyRestrictions(); // Alarms only mode will not silence alarms - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(false, false, - AudioAttributes.USAGE_ALARM); + verifyApplyRestrictions(false, false, AudioAttributes.USAGE_ALARM); // Alarms only mode will not silence media - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(false, false, - AudioAttributes.USAGE_MEDIA); - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(false, false, - AudioAttributes.USAGE_GAME); - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(false, false, - AudioAttributes.USAGE_UNKNOWN); + verifyApplyRestrictions(false, false, AudioAttributes.USAGE_MEDIA); + verifyApplyRestrictions(false, false, AudioAttributes.USAGE_GAME); + verifyApplyRestrictions(false, false, AudioAttributes.USAGE_UNKNOWN); // Alarms only will silence system noises (but not vibrations) - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(false, true, - AudioAttributes.USAGE_ASSISTANCE_SONIFICATION, AppOpsManager.OP_PLAY_AUDIO); + verify(mAppOps, atLeastOnce()).setRestriction(AppOpsManager.OP_PLAY_AUDIO, + AudioAttributes.USAGE_ASSISTANCE_SONIFICATION, AppOpsManager.MODE_IGNORED, null); } @Test public void testAlarmsOnly_callsMuteApplied() { - mZenModeHelperSpy.mZenMode = Settings.Global.ZEN_MODE_ALARMS; - mZenModeHelperSpy.mConsolidatedPolicy = new Policy(0, 0, 0, 0, 0, 0); - mZenModeHelperSpy.applyRestrictions(); + mZenModeHelper.mZenMode = Settings.Global.ZEN_MODE_ALARMS; + mZenModeHelper.setPriorityOnlyDndExemptPackages(new String[] {PKG_O}); + mZenModeHelper.mConsolidatedPolicy = new Policy(0, 0, 0, 0, 0, 0); + mZenModeHelper.applyRestrictions(); // Alarms only mode will silence calls despite priority-mode config - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(false, true, - AudioAttributes.USAGE_NOTIFICATION_RINGTONE); - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(false, true, + verifyApplyRestrictions(false, true, AudioAttributes.USAGE_NOTIFICATION_RINGTONE); + verifyApplyRestrictions(false, true, AudioAttributes.USAGE_NOTIFICATION_COMMUNICATION_REQUEST); } @Test public void testAlarmsOnly_allZenConfigToggledCannotBypass_alarmMuteNotApplied() { // Only audio attributes with SUPPRESIBLE_NEVER can bypass - mZenModeHelperSpy.mZenMode = Settings.Global.ZEN_MODE_ALARMS; - mZenModeHelperSpy.mConsolidatedPolicy = new Policy(0, 0, 0, 0, 0, 0); - mZenModeHelperSpy.applyRestrictions(); + mZenModeHelper.mZenMode = Settings.Global.ZEN_MODE_ALARMS; + mZenModeHelper.setPriorityOnlyDndExemptPackages(new String[] {PKG_O}); + mZenModeHelper.mConsolidatedPolicy = new Policy(0, 0, 0, 0, 0, 0); + mZenModeHelper.applyRestrictions(); - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(false, false, - AudioAttributes.USAGE_ALARM); + verifyApplyRestrictions(false, false, AudioAttributes.USAGE_ALARM); } @Test public void testZenAllCannotBypass() { // Only audio attributes with SUPPRESIBLE_NEVER can bypass // with special case USAGE_ASSISTANCE_SONIFICATION - mZenModeHelperSpy.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; - mZenModeHelperSpy.mConsolidatedPolicy = new Policy(0, 0, 0, 0, 0, 0); - mZenModeHelperSpy.applyRestrictions(); + mZenModeHelper.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.setPriorityOnlyDndExemptPackages(new String[] {PKG_O}); + mZenModeHelper.mConsolidatedPolicy = new Policy(0, 0, 0, 0, 0, 0); + mZenModeHelper.applyRestrictions(); for (int usage : AudioAttributes.SDK_USAGES) { if (usage == AudioAttributes.USAGE_ASSISTANCE_SONIFICATION) { // only mute audio, not vibrations - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(true, true, usage, - AppOpsManager.OP_PLAY_AUDIO); - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(true, false, usage, - AppOpsManager.OP_VIBRATE); + verify(mAppOps, atLeastOnce()).setRestriction(eq(AppOpsManager.OP_PLAY_AUDIO), + eq(usage), eq(AppOpsManager.MODE_IGNORED), notNull()); + verify(mAppOps, atLeastOnce()).setRestriction(eq(AppOpsManager.OP_VIBRATE), + eq(usage), eq(AppOpsManager.MODE_ALLOWED), notNull()); } else { boolean shouldMute = AudioAttributes.SUPPRESSIBLE_USAGES.get(usage) != AudioAttributes.SUPPRESSIBLE_NEVER; - verify(mZenModeHelperSpy, atLeastOnce()).applyRestrictions(true, shouldMute, usage); + verifyApplyRestrictions(true, shouldMute, usage); } } } @Test public void testApplyRestrictions_whitelist_priorityOnlyMode() { - mZenModeHelperSpy.setPriorityOnlyDndExemptPackages(new String[] {PKG_O}); - mZenModeHelperSpy.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; - mZenModeHelperSpy.mConsolidatedPolicy = new Policy(0, 0, 0, 0, 0, 0); - mZenModeHelperSpy.applyRestrictions(); + mZenModeHelper.setPriorityOnlyDndExemptPackages(new String[] {PKG_O}); + mZenModeHelper.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.mConsolidatedPolicy = new Policy(0, 0, 0, 0, 0, 0); + mZenModeHelper.applyRestrictions(); for (int usage : AudioAttributes.SDK_USAGES) { verify(mAppOps).setRestriction( @@ -491,10 +490,10 @@ public class ZenModeHelperTest extends UiServiceTestCase { @Test public void testApplyRestrictions_whitelist_alarmsOnlyMode() { - mZenModeHelperSpy.setPriorityOnlyDndExemptPackages(new String[] {PKG_O}); - mZenModeHelperSpy.mZenMode = Global.ZEN_MODE_ALARMS; - mZenModeHelperSpy.mConsolidatedPolicy = new Policy(0, 0, 0, 0, 0, 0); - mZenModeHelperSpy.applyRestrictions(); + mZenModeHelper.setPriorityOnlyDndExemptPackages(new String[] {PKG_O}); + mZenModeHelper.mZenMode = Global.ZEN_MODE_ALARMS; + mZenModeHelper.mConsolidatedPolicy = new Policy(0, 0, 0, 0, 0, 0); + mZenModeHelper.applyRestrictions(); for (int usage : AudioAttributes.SDK_USAGES) { verify(mAppOps).setRestriction( @@ -506,10 +505,10 @@ public class ZenModeHelperTest extends UiServiceTestCase { @Test public void testApplyRestrictions_whitelist_totalSilenceMode() { - mZenModeHelperSpy.setPriorityOnlyDndExemptPackages(new String[] {PKG_O}); - mZenModeHelperSpy.mZenMode = Global.ZEN_MODE_NO_INTERRUPTIONS; - mZenModeHelperSpy.mConsolidatedPolicy = new Policy(0, 0, 0, 0, 0, 0); - mZenModeHelperSpy.applyRestrictions(); + mZenModeHelper.setPriorityOnlyDndExemptPackages(new String[] {PKG_O}); + mZenModeHelper.mZenMode = Global.ZEN_MODE_NO_INTERRUPTIONS; + mZenModeHelper.mConsolidatedPolicy = new Policy(0, 0, 0, 0, 0, 0); + mZenModeHelper.applyRestrictions(); for (int usage : AudioAttributes.SDK_USAGES) { verify(mAppOps).setRestriction( @@ -533,11 +532,10 @@ public class ZenModeHelperTest extends UiServiceTestCase { // and we're setting zen mode on Settings.Secure.putInt(mContentResolver, Settings.Secure.SHOW_ZEN_UPGRADE_NOTIFICATION, 1); Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_SETTINGS_UPDATED, 0); - mZenModeHelperSpy.mIsBootComplete = true; - mZenModeHelperSpy.mConsolidatedPolicy = new Policy(0, 0, 0, 0, 0, 0); - mZenModeHelperSpy.setZenModeSetting(ZEN_MODE_IMPORTANT_INTERRUPTIONS); + mZenModeHelper.mIsBootComplete = true; + mZenModeHelper.mConsolidatedPolicy = new Policy(0, 0, 0, 0, 0, 0); + mZenModeHelper.setZenModeSetting(ZEN_MODE_IMPORTANT_INTERRUPTIONS); - verify(mZenModeHelperSpy, times(1)).createZenUpgradeNotification(); verify(mNotificationManager, times(1)).notify(eq(ZenModeHelper.TAG), eq(SystemMessage.NOTE_ZEN_UPGRADE), any()); assertEquals(0, Settings.Secure.getInt(mContentResolver, @@ -549,10 +547,9 @@ public class ZenModeHelperTest extends UiServiceTestCase { // doesn't show upgrade notification if stored settings says don't show Settings.Secure.putInt(mContentResolver, Settings.Secure.SHOW_ZEN_UPGRADE_NOTIFICATION, 0); Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_SETTINGS_UPDATED, 0); - mZenModeHelperSpy.mIsBootComplete = true; - mZenModeHelperSpy.setZenModeSetting(ZEN_MODE_IMPORTANT_INTERRUPTIONS); + mZenModeHelper.mIsBootComplete = true; + mZenModeHelper.setZenModeSetting(ZEN_MODE_IMPORTANT_INTERRUPTIONS); - verify(mZenModeHelperSpy, never()).createZenUpgradeNotification(); verify(mNotificationManager, never()).notify(eq(ZenModeHelper.TAG), eq(SystemMessage.NOTE_ZEN_UPGRADE), any()); } @@ -562,10 +559,9 @@ public class ZenModeHelperTest extends UiServiceTestCase { // doesn't show upgrade notification since zen was already updated Settings.Secure.putInt(mContentResolver, Settings.Secure.SHOW_ZEN_UPGRADE_NOTIFICATION, 0); Settings.Secure.putInt(mContentResolver, Settings.Secure.ZEN_SETTINGS_UPDATED, 1); - mZenModeHelperSpy.mIsBootComplete = true; - mZenModeHelperSpy.setZenModeSetting(ZEN_MODE_IMPORTANT_INTERRUPTIONS); + mZenModeHelper.mIsBootComplete = true; + mZenModeHelper.setZenModeSetting(ZEN_MODE_IMPORTANT_INTERRUPTIONS); - verify(mZenModeHelperSpy, never()).createZenUpgradeNotification(); verify(mNotificationManager, never()).notify(eq(ZenModeHelper.TAG), eq(SystemMessage.NOTE_ZEN_UPGRADE), any()); } @@ -573,41 +569,41 @@ public class ZenModeHelperTest extends UiServiceTestCase { @Test public void testZenSetInternalRinger_AllPriorityNotificationSoundsMuted() { AudioManagerInternal mAudioManager = mock(AudioManagerInternal.class); - mZenModeHelperSpy.mAudioManager = mAudioManager; + mZenModeHelper.mAudioManager = mAudioManager; Global.putString(mContext.getContentResolver(), Global.ZEN_MODE_RINGER_LEVEL, Integer.toString(AudioManager.RINGER_MODE_NORMAL)); // 1. Current ringer is normal when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_NORMAL); // Set zen to priority-only with all notification sounds muted (so ringer will be muted) - mZenModeHelperSpy.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; - mZenModeHelperSpy.mConfig.allowReminders = false; - mZenModeHelperSpy.mConfig.allowCalls = false; - mZenModeHelperSpy.mConfig.allowMessages = false; - mZenModeHelperSpy.mConfig.allowEvents = false; - mZenModeHelperSpy.mConfig.allowRepeatCallers = false; - mZenModeHelperSpy.mConfig.allowConversations = false; + mZenModeHelper.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.mConfig.allowReminders = false; + mZenModeHelper.mConfig.allowCalls = false; + mZenModeHelper.mConfig.allowMessages = false; + mZenModeHelper.mConfig.allowEvents = false; + mZenModeHelper.mConfig.allowRepeatCallers = false; + mZenModeHelper.mConfig.allowConversations = false; // 2. apply priority only zen - verify ringer is unchanged - mZenModeHelperSpy.applyZenToRingerMode(); + mZenModeHelper.applyZenToRingerMode(); verify(mAudioManager, never()).setRingerModeInternal(AudioManager.RINGER_MODE_SILENT, - mZenModeHelperSpy.TAG); + mZenModeHelper.TAG); // 3. apply zen off - verify zen is set to previous ringer (normal) when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_SILENT); - mZenModeHelperSpy.mZenMode = Global.ZEN_MODE_OFF; - mZenModeHelperSpy.applyZenToRingerMode(); + mZenModeHelper.mZenMode = Global.ZEN_MODE_OFF; + mZenModeHelper.applyZenToRingerMode(); verify(mAudioManager, atLeastOnce()).setRingerModeInternal(AudioManager.RINGER_MODE_NORMAL, - mZenModeHelperSpy.TAG); + mZenModeHelper.TAG); } @Test public void testRingerAffectedStreamsTotalSilence() { // in total silence: // ringtone, notification, system, alarm, streams, music are affected by ringer mode - mZenModeHelperSpy.mZenMode = Settings.Global.ZEN_MODE_NO_INTERRUPTIONS; + mZenModeHelper.mZenMode = Settings.Global.ZEN_MODE_NO_INTERRUPTIONS; ZenModeHelper.RingerModeDelegate ringerModeDelegate = - mZenModeHelperSpy.new RingerModeDelegate(); + mZenModeHelper.new RingerModeDelegate(); int ringerModeAffectedStreams = ringerModeDelegate.getRingerModeAffectedStreams(0); assertTrue((ringerModeAffectedStreams & (1 << AudioSystem.STREAM_RING)) != 0); assertTrue((ringerModeAffectedStreams & (1 << AudioSystem.STREAM_NOTIFICATION)) @@ -622,11 +618,11 @@ public class ZenModeHelperTest extends UiServiceTestCase { public void testRingerAffectedStreamsPriorityOnly() { // in priority only mode: // ringtone, notification and system streams are affected by ringer mode - mZenModeHelperSpy.mConfig.allowAlarms = true; - mZenModeHelperSpy.mConfig.allowReminders = true; - mZenModeHelperSpy.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.mConfig.allowAlarms = true; + mZenModeHelper.mConfig.allowReminders = true; + mZenModeHelper.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; ZenModeHelper.RingerModeDelegate ringerModeDelegateRingerMuted = - mZenModeHelperSpy.new RingerModeDelegate(); + mZenModeHelper.new RingerModeDelegate(); int ringerModeAffectedStreams = ringerModeDelegateRingerMuted.getRingerModeAffectedStreams(0); @@ -640,15 +636,15 @@ public class ZenModeHelperTest extends UiServiceTestCase { // even when ringer is muted (since all ringer sounds cannot bypass DND), // system stream is still affected by ringer mode - mZenModeHelperSpy.mConfig.allowSystem = false; - mZenModeHelperSpy.mConfig.allowReminders = false; - mZenModeHelperSpy.mConfig.allowCalls = false; - mZenModeHelperSpy.mConfig.allowMessages = false; - mZenModeHelperSpy.mConfig.allowEvents = false; - mZenModeHelperSpy.mConfig.allowRepeatCallers = false; - mZenModeHelperSpy.mConfig.allowConversations = false; + mZenModeHelper.mConfig.allowSystem = false; + mZenModeHelper.mConfig.allowReminders = false; + mZenModeHelper.mConfig.allowCalls = false; + mZenModeHelper.mConfig.allowMessages = false; + mZenModeHelper.mConfig.allowEvents = false; + mZenModeHelper.mConfig.allowRepeatCallers = false; + mZenModeHelper.mConfig.allowConversations = false; ZenModeHelper.RingerModeDelegate ringerModeDelegateRingerNotMuted = - mZenModeHelperSpy.new RingerModeDelegate(); + mZenModeHelper.new RingerModeDelegate(); int ringerMutedRingerModeAffectedStreams = ringerModeDelegateRingerNotMuted.getRingerModeAffectedStreams(0); @@ -665,74 +661,74 @@ public class ZenModeHelperTest extends UiServiceTestCase { @Test public void testZenSetInternalRinger_NotAllPriorityNotificationSoundsMuted_StartNormal() { AudioManagerInternal mAudioManager = mock(AudioManagerInternal.class); - mZenModeHelperSpy.mAudioManager = mAudioManager; + mZenModeHelper.mAudioManager = mAudioManager; Global.putString(mContext.getContentResolver(), Global.ZEN_MODE_RINGER_LEVEL, Integer.toString(AudioManager.RINGER_MODE_NORMAL)); // 1. Current ringer is normal when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_NORMAL); - mZenModeHelperSpy.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; - mZenModeHelperSpy.mConfig.allowReminders = true; + mZenModeHelper.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.mConfig.allowReminders = true; // 2. apply priority only zen - verify ringer is normal - mZenModeHelperSpy.applyZenToRingerMode(); + mZenModeHelper.applyZenToRingerMode(); verify(mAudioManager, atLeastOnce()).setRingerModeInternal(AudioManager.RINGER_MODE_NORMAL, - mZenModeHelperSpy.TAG); + mZenModeHelper.TAG); // 3. apply zen off - verify ringer remains normal when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_NORMAL); - mZenModeHelperSpy.mZenMode = Global.ZEN_MODE_OFF; - mZenModeHelperSpy.applyZenToRingerMode(); + mZenModeHelper.mZenMode = Global.ZEN_MODE_OFF; + mZenModeHelper.applyZenToRingerMode(); verify(mAudioManager, atLeastOnce()).setRingerModeInternal(AudioManager.RINGER_MODE_NORMAL, - mZenModeHelperSpy.TAG); + mZenModeHelper.TAG); } @Test public void testZenSetInternalRinger_NotAllPriorityNotificationSoundsMuted_StartSilent() { AudioManagerInternal mAudioManager = mock(AudioManagerInternal.class); - mZenModeHelperSpy.mAudioManager = mAudioManager; + mZenModeHelper.mAudioManager = mAudioManager; Global.putString(mContext.getContentResolver(), Global.ZEN_MODE_RINGER_LEVEL, Integer.toString(AudioManager.RINGER_MODE_SILENT)); // 1. Current ringer is silent when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_SILENT); - mZenModeHelperSpy.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; - mZenModeHelperSpy.mConfig.allowReminders = true; + mZenModeHelper.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.mConfig.allowReminders = true; // 2. apply priority only zen - verify ringer is silent - mZenModeHelperSpy.applyZenToRingerMode(); + mZenModeHelper.applyZenToRingerMode(); verify(mAudioManager, atLeastOnce()).setRingerModeInternal(AudioManager.RINGER_MODE_SILENT, - mZenModeHelperSpy.TAG); + mZenModeHelper.TAG); // 3. apply zen-off - verify ringer is still silent when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_SILENT); - mZenModeHelperSpy.mZenMode = Global.ZEN_MODE_OFF; - mZenModeHelperSpy.applyZenToRingerMode(); + mZenModeHelper.mZenMode = Global.ZEN_MODE_OFF; + mZenModeHelper.applyZenToRingerMode(); verify(mAudioManager, atLeastOnce()).setRingerModeInternal(AudioManager.RINGER_MODE_SILENT, - mZenModeHelperSpy.TAG); + mZenModeHelper.TAG); } @Test public void testZenSetInternalRinger_NotAllPriorityNotificationSoundsMuted_RingerChanges() { AudioManagerInternal mAudioManager = mock(AudioManagerInternal.class); - mZenModeHelperSpy.mAudioManager = mAudioManager; + mZenModeHelper.mAudioManager = mAudioManager; Global.putString(mContext.getContentResolver(), Global.ZEN_MODE_RINGER_LEVEL, Integer.toString(AudioManager.RINGER_MODE_NORMAL)); // 1. Current ringer is normal when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_NORMAL); // Set zen to priority-only with all notification sounds muted (so ringer will be muted) - mZenModeHelperSpy.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; - mZenModeHelperSpy.mConfig.allowReminders = true; + mZenModeHelper.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.mConfig.allowReminders = true; // 2. apply priority only zen - verify zen will still be normal - mZenModeHelperSpy.applyZenToRingerMode(); + mZenModeHelper.applyZenToRingerMode(); verify(mAudioManager, atLeastOnce()).setRingerModeInternal(AudioManager.RINGER_MODE_NORMAL, - mZenModeHelperSpy.TAG); + mZenModeHelper.TAG); // 3. change ringer from normal to silent, verify previous ringer set to new ringer (silent) ZenModeHelper.RingerModeDelegate ringerModeDelegate = - mZenModeHelperSpy.new RingerModeDelegate(); + mZenModeHelper.new RingerModeDelegate(); ringerModeDelegate.onSetRingerModeInternal(AudioManager.RINGER_MODE_NORMAL, AudioManager.RINGER_MODE_SILENT, "test", AudioManager.RINGER_MODE_NORMAL, VolumePolicy.DEFAULT); @@ -741,41 +737,40 @@ public class ZenModeHelperTest extends UiServiceTestCase { // 4. apply zen off - verify ringer still silenced when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_SILENT); - mZenModeHelperSpy.mZenMode = Global.ZEN_MODE_OFF; - mZenModeHelperSpy.applyZenToRingerMode(); + mZenModeHelper.mZenMode = Global.ZEN_MODE_OFF; + mZenModeHelper.applyZenToRingerMode(); verify(mAudioManager, atLeastOnce()).setRingerModeInternal(AudioManager.RINGER_MODE_SILENT, - mZenModeHelperSpy.TAG); + mZenModeHelper.TAG); } @Test public void testSilentRingerSavedInZenOff_startsZenOff() { AudioManagerInternal mAudioManager = mock(AudioManagerInternal.class); - mZenModeHelperSpy.mConfig = new ZenModeConfig(); - mZenModeHelperSpy.mAudioManager = mAudioManager; + mZenModeHelper.mConfig = new ZenModeConfig(); + mZenModeHelper.mAudioManager = mAudioManager; // apply zen off multiple times - verify ringer is not set to normal when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_SILENT); - mZenModeHelperSpy.mZenMode = Global.ZEN_MODE_OFF; - mZenModeHelperSpy.mConfig = null; // will evaluate config to zen mode off + mZenModeHelper.mZenMode = Global.ZEN_MODE_OFF; + mZenModeHelper.mConfig = null; // will evaluate config to zen mode off for (int i = 0; i < 3; i++) { // if zen doesn't change, zen should not reapply itself to the ringer - mZenModeHelperSpy.evaluateZenMode("test", true); + mZenModeHelper.evaluateZenMode("test", true); } - verify(mZenModeHelperSpy, never()).applyZenToRingerMode(); verify(mAudioManager, never()).setRingerModeInternal(AudioManager.RINGER_MODE_NORMAL, - mZenModeHelperSpy.TAG); + mZenModeHelper.TAG); } @Test public void testSilentRingerSavedOnZenOff_startsZenOn() { AudioManagerInternal mAudioManager = mock(AudioManagerInternal.class); - mZenModeHelperSpy.mAudioManager = mAudioManager; - mZenModeHelperSpy.mZenMode = Global.ZEN_MODE_OFF; - mZenModeHelperSpy.mConfig = new ZenModeConfig(); + mZenModeHelper.mAudioManager = mAudioManager; + mZenModeHelper.mZenMode = Global.ZEN_MODE_OFF; + mZenModeHelper.mConfig = new ZenModeConfig(); // previously set silent ringer ZenModeHelper.RingerModeDelegate ringerModeDelegate = - mZenModeHelperSpy.new RingerModeDelegate(); + mZenModeHelper.new RingerModeDelegate(); ringerModeDelegate.onSetRingerModeInternal(AudioManager.RINGER_MODE_NORMAL, AudioManager.RINGER_MODE_SILENT, "test", AudioManager.RINGER_MODE_NORMAL, VolumePolicy.DEFAULT); @@ -784,26 +779,25 @@ public class ZenModeHelperTest extends UiServiceTestCase { // apply zen off multiple times - verify ringer is not set to normal when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_SILENT); - mZenModeHelperSpy.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; for (int i = 0; i < 3; i++) { // if zen doesn't change, zen should not reapply itself to the ringer - mZenModeHelperSpy.evaluateZenMode("test", true); + mZenModeHelper.evaluateZenMode("test", true); } - verify(mZenModeHelperSpy, times(1)).applyZenToRingerMode(); verify(mAudioManager, never()).setRingerModeInternal(AudioManager.RINGER_MODE_NORMAL, - mZenModeHelperSpy.TAG); + mZenModeHelper.TAG); } @Test public void testVibrateRingerSavedOnZenOff_startsZenOn() { AudioManagerInternal mAudioManager = mock(AudioManagerInternal.class); - mZenModeHelperSpy.mAudioManager = mAudioManager; - mZenModeHelperSpy.mZenMode = Global.ZEN_MODE_OFF; - mZenModeHelperSpy.mConfig = new ZenModeConfig(); + mZenModeHelper.mAudioManager = mAudioManager; + mZenModeHelper.mZenMode = Global.ZEN_MODE_OFF; + mZenModeHelper.mConfig = new ZenModeConfig(); // previously set silent ringer ZenModeHelper.RingerModeDelegate ringerModeDelegate = - mZenModeHelperSpy.new RingerModeDelegate(); + mZenModeHelper.new RingerModeDelegate(); ringerModeDelegate.onSetRingerModeInternal(AudioManager.RINGER_MODE_NORMAL, AudioManager.RINGER_MODE_VIBRATE, "test", AudioManager.RINGER_MODE_NORMAL, VolumePolicy.DEFAULT); @@ -812,89 +806,88 @@ public class ZenModeHelperTest extends UiServiceTestCase { // apply zen off multiple times - verify ringer is not set to normal when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_VIBRATE); - mZenModeHelperSpy.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; for (int i = 0; i < 3; i++) { // if zen doesn't change, zen should not reapply itself to the ringer - mZenModeHelperSpy.evaluateZenMode("test", true); + mZenModeHelper.evaluateZenMode("test", true); } - verify(mZenModeHelperSpy, times(1)).applyZenToRingerMode(); verify(mAudioManager, never()).setRingerModeInternal(AudioManager.RINGER_MODE_NORMAL, - mZenModeHelperSpy.TAG); + mZenModeHelper.TAG); } @Test public void testParcelConfig() { - mZenModeHelperSpy.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; - mZenModeHelperSpy.mConfig.allowAlarms = false; - mZenModeHelperSpy.mConfig.allowMedia = false; - mZenModeHelperSpy.mConfig.allowSystem = false; - mZenModeHelperSpy.mConfig.allowReminders = true; - mZenModeHelperSpy.mConfig.allowCalls = true; - mZenModeHelperSpy.mConfig.allowMessages = true; - mZenModeHelperSpy.mConfig.allowEvents = true; - mZenModeHelperSpy.mConfig.allowRepeatCallers = true; - mZenModeHelperSpy.mConfig.allowConversations = true; - mZenModeHelperSpy.mConfig.allowConversationsFrom = ZenPolicy.CONVERSATION_SENDERS_ANYONE; - mZenModeHelperSpy.mConfig.suppressedVisualEffects = SUPPRESSED_EFFECT_BADGE; - mZenModeHelperSpy.mConfig.manualRule = new ZenModeConfig.ZenRule(); - mZenModeHelperSpy.mConfig.manualRule.component = new ComponentName("a", "a"); - mZenModeHelperSpy.mConfig.manualRule.enabled = true; - mZenModeHelperSpy.mConfig.manualRule.snoozing = true; - - ZenModeConfig actual = mZenModeHelperSpy.mConfig.copy(); - - assertEquals(mZenModeHelperSpy.mConfig, actual); + mZenModeHelper.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.mConfig.allowAlarms = false; + mZenModeHelper.mConfig.allowMedia = false; + mZenModeHelper.mConfig.allowSystem = false; + mZenModeHelper.mConfig.allowReminders = true; + mZenModeHelper.mConfig.allowCalls = true; + mZenModeHelper.mConfig.allowMessages = true; + mZenModeHelper.mConfig.allowEvents = true; + mZenModeHelper.mConfig.allowRepeatCallers = true; + mZenModeHelper.mConfig.allowConversations = true; + mZenModeHelper.mConfig.allowConversationsFrom = ZenPolicy.CONVERSATION_SENDERS_ANYONE; + mZenModeHelper.mConfig.suppressedVisualEffects = SUPPRESSED_EFFECT_BADGE; + mZenModeHelper.mConfig.manualRule = new ZenModeConfig.ZenRule(); + mZenModeHelper.mConfig.manualRule.component = new ComponentName("a", "a"); + mZenModeHelper.mConfig.manualRule.enabled = true; + mZenModeHelper.mConfig.manualRule.snoozing = true; + + ZenModeConfig actual = mZenModeHelper.mConfig.copy(); + + assertEquals(mZenModeHelper.mConfig, actual); } @Test public void testWriteXml() throws Exception { - mZenModeHelperSpy.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; - mZenModeHelperSpy.mConfig.allowAlarms = false; - mZenModeHelperSpy.mConfig.allowMedia = false; - mZenModeHelperSpy.mConfig.allowSystem = false; - mZenModeHelperSpy.mConfig.allowReminders = true; - mZenModeHelperSpy.mConfig.allowCalls = true; - mZenModeHelperSpy.mConfig.allowMessages = true; - mZenModeHelperSpy.mConfig.allowEvents = true; - mZenModeHelperSpy.mConfig.allowRepeatCallers = true; - mZenModeHelperSpy.mConfig.allowConversations = true; - mZenModeHelperSpy.mConfig.allowConversationsFrom = ZenPolicy.CONVERSATION_SENDERS_ANYONE; - mZenModeHelperSpy.mConfig.suppressedVisualEffects = SUPPRESSED_EFFECT_BADGE; - mZenModeHelperSpy.mConfig.manualRule = new ZenModeConfig.ZenRule(); - mZenModeHelperSpy.mConfig.manualRule.zenMode = + mZenModeHelper.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.mConfig.allowAlarms = false; + mZenModeHelper.mConfig.allowMedia = false; + mZenModeHelper.mConfig.allowSystem = false; + mZenModeHelper.mConfig.allowReminders = true; + mZenModeHelper.mConfig.allowCalls = true; + mZenModeHelper.mConfig.allowMessages = true; + mZenModeHelper.mConfig.allowEvents = true; + mZenModeHelper.mConfig.allowRepeatCallers = true; + mZenModeHelper.mConfig.allowConversations = true; + mZenModeHelper.mConfig.allowConversationsFrom = ZenPolicy.CONVERSATION_SENDERS_ANYONE; + mZenModeHelper.mConfig.suppressedVisualEffects = SUPPRESSED_EFFECT_BADGE; + mZenModeHelper.mConfig.manualRule = new ZenModeConfig.ZenRule(); + mZenModeHelper.mConfig.manualRule.zenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; - mZenModeHelperSpy.mConfig.manualRule.component = new ComponentName("a", "a"); - mZenModeHelperSpy.mConfig.manualRule.pkg = "a"; - mZenModeHelperSpy.mConfig.manualRule.enabled = true; + mZenModeHelper.mConfig.manualRule.component = new ComponentName("a", "a"); + mZenModeHelper.mConfig.manualRule.pkg = "a"; + mZenModeHelper.mConfig.manualRule.enabled = true; - ZenModeConfig expected = mZenModeHelperSpy.mConfig.copy(); + ZenModeConfig expected = mZenModeHelper.mConfig.copy(); ByteArrayOutputStream baos = writeXmlAndPurge(null); TypedXmlPullParser parser = getParserForByteStream(baos); - mZenModeHelperSpy.readXml(parser, false, UserHandle.USER_ALL); + mZenModeHelper.readXml(parser, false, UserHandle.USER_ALL); assertEquals("Config mismatch: current vs expected: " - + new ZenModeDiff.ConfigDiff(mZenModeHelperSpy.mConfig, expected), expected, - mZenModeHelperSpy.mConfig); + + new ZenModeDiff.ConfigDiff(mZenModeHelper.mConfig, expected), expected, + mZenModeHelper.mConfig); } @Test public void testProto() { - mZenModeHelperSpy.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; + mZenModeHelper.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; // existence of manual rule means it should be in output - mZenModeHelperSpy.mConfig.manualRule = new ZenModeConfig.ZenRule(); - mZenModeHelperSpy.mConfig.manualRule.pkg = "android"; // system + mZenModeHelper.mConfig.manualRule = new ZenModeConfig.ZenRule(); + mZenModeHelper.mConfig.manualRule.pkg = "android"; // system - int n = mZenModeHelperSpy.mConfig.automaticRules.size(); + int n = mZenModeHelper.mConfig.automaticRules.size(); List<String> ids = new ArrayList<>(n); - for (ZenModeConfig.ZenRule rule : mZenModeHelperSpy.mConfig.automaticRules.values()) { + for (ZenModeConfig.ZenRule rule : mZenModeHelper.mConfig.automaticRules.values()) { ids.add(rule.id); } ids.add(ZenModeConfig.MANUAL_RULE_ID); ids.add(""); // for ROOT_CONFIG, logged with empty string as id List<StatsEvent> events = new LinkedList<>(); - mZenModeHelperSpy.pullRules(events); + mZenModeHelper.pullRules(events); assertEquals(n + 2, events.size()); // automatic rules + manual rule + root config for (WrappedSysUiStatsEvent.WrappedBuilder builder : mStatsEventBuilderFactory.builders) { if (builder.getAtomId() == DND_MODE_RULE) { @@ -918,10 +911,10 @@ public class ZenModeHelperTest extends UiServiceTestCase { public void testProtoWithAutoRule() throws Exception { setupZenConfig(); // one enabled automatic rule - mZenModeHelperSpy.mConfig.automaticRules = getCustomAutomaticRules(ZEN_MODE_FOR_TESTING); + mZenModeHelper.mConfig.automaticRules = getCustomAutomaticRules(ZEN_MODE_FOR_TESTING); List<StatsEvent> events = new LinkedList<>(); - mZenModeHelperSpy.pullRules(events); + mZenModeHelper.pullRules(events); boolean foundCustomEvent = false; for (WrappedSysUiStatsEvent.WrappedBuilder builder : mStatsEventBuilderFactory.builders) { @@ -942,23 +935,23 @@ public class ZenModeHelperTest extends UiServiceTestCase { public void ruleUidsCached() throws Exception { setupZenConfig(); // one enabled automatic rule - mZenModeHelperSpy.mConfig.automaticRules = getCustomAutomaticRules(); + mZenModeHelper.mConfig.automaticRules = getCustomAutomaticRules(); List<StatsEvent> events = new LinkedList<>(); // first time retrieving uid: - mZenModeHelperSpy.pullRules(events); + mZenModeHelper.pullRules(events); verify(mPackageManager, atLeastOnce()).getPackageUidAsUser(anyString(), anyInt()); // second time retrieving uid: reset(mPackageManager); - mZenModeHelperSpy.pullRules(events); + mZenModeHelper.pullRules(events); verify(mPackageManager, never()).getPackageUidAsUser(anyString(), anyInt()); // new rule from same package + user added reset(mPackageManager); ZenModeConfig.ZenRule rule = createCustomAutomaticRule(ZEN_MODE_IMPORTANT_INTERRUPTIONS, CUSTOM_RULE_ID + "2"); - mZenModeHelperSpy.mConfig.automaticRules.put(rule.id, rule); - mZenModeHelperSpy.pullRules(events); + mZenModeHelper.mConfig.automaticRules.put(rule.id, rule); + mZenModeHelper.pullRules(events); verify(mPackageManager, never()).getPackageUidAsUser(anyString(), anyInt()); } @@ -969,23 +962,23 @@ public class ZenModeHelperTest extends UiServiceTestCase { setupZenConfig(); // one enabled automatic rule - mZenModeHelperSpy.mConfig.automaticRules = getCustomAutomaticRules(); + mZenModeHelper.mConfig.automaticRules = getCustomAutomaticRules(); List<StatsEvent> events = new LinkedList<>(); - mZenModeHelperSpy.pullRules(events); - mZenModeHelperSpy.removeAutomaticZenRule(CUSTOM_RULE_ID, "test"); + mZenModeHelper.pullRules(events); + mZenModeHelper.removeAutomaticZenRule(CUSTOM_RULE_ID, "test"); assertTrue(-1 - == mZenModeHelperSpy.mRulesUidCache.getOrDefault(CUSTOM_PKG_NAME + "|" + 0, -1)); + == mZenModeHelper.mRulesUidCache.getOrDefault(CUSTOM_PKG_NAME + "|" + 0, -1)); } @Test public void testProtoRedactsIds() throws Exception { setupZenConfig(); // one enabled automatic rule - mZenModeHelperSpy.mConfig.automaticRules = getCustomAutomaticRules(); + mZenModeHelper.mConfig.automaticRules = getCustomAutomaticRules(); List<StatsEvent> events = new LinkedList<>(); - mZenModeHelperSpy.pullRules(events); + mZenModeHelper.pullRules(events); boolean foundCustomEvent = false; for (WrappedSysUiStatsEvent.WrappedBuilder builder : mStatsEventBuilderFactory.builders) { @@ -999,12 +992,12 @@ public class ZenModeHelperTest extends UiServiceTestCase { @Test public void testProtoWithManualRule() throws Exception { setupZenConfig(); - mZenModeHelperSpy.mConfig.automaticRules = getCustomAutomaticRules(); - mZenModeHelperSpy.mConfig.manualRule = new ZenModeConfig.ZenRule(); - mZenModeHelperSpy.mConfig.manualRule.enabled = true; + mZenModeHelper.mConfig.automaticRules = getCustomAutomaticRules(); + mZenModeHelper.mConfig.manualRule = new ZenModeConfig.ZenRule(); + mZenModeHelper.mConfig.manualRule.enabled = true; List<StatsEvent> events = new LinkedList<>(); - mZenModeHelperSpy.pullRules(events); + mZenModeHelper.pullRules(events); boolean foundManualRule = false; for (WrappedSysUiStatsEvent.WrappedBuilder builder : mStatsEventBuilderFactory.builders) { @@ -1020,50 +1013,50 @@ public class ZenModeHelperTest extends UiServiceTestCase { public void testWriteXml_onlyBackupsTargetUser() throws Exception { // Setup configs for user 10 and 11. setupZenConfig(); - ZenModeConfig config10 = mZenModeHelperSpy.mConfig.copy(); + ZenModeConfig config10 = mZenModeHelper.mConfig.copy(); config10.user = 10; config10.allowAlarms = true; config10.allowMedia = true; - mZenModeHelperSpy.setConfig(config10, null, "writeXml"); - ZenModeConfig config11 = mZenModeHelperSpy.mConfig.copy(); + mZenModeHelper.setConfig(config10, null, "writeXml"); + ZenModeConfig config11 = mZenModeHelper.mConfig.copy(); config11.user = 11; config11.allowAlarms = false; config11.allowMedia = false; - mZenModeHelperSpy.setConfig(config11, null, "writeXml"); + mZenModeHelper.setConfig(config11, null, "writeXml"); // Backup user 10 and reset values. ByteArrayOutputStream baos = writeXmlAndPurgeForUser(null, 10); ZenModeConfig newConfig11 = new ZenModeConfig(); newConfig11.user = 11; - mZenModeHelperSpy.mConfigs.put(11, newConfig11); + mZenModeHelper.mConfigs.put(11, newConfig11); // Parse backup data. TypedXmlPullParser parser = getParserForByteStream(baos); - mZenModeHelperSpy.readXml(parser, true, 10); - mZenModeHelperSpy.readXml(parser, true, 11); + mZenModeHelper.readXml(parser, true, 10); + mZenModeHelper.readXml(parser, true, 11); - ZenModeConfig actual = mZenModeHelperSpy.mConfigs.get(10); + ZenModeConfig actual = mZenModeHelper.mConfigs.get(10); assertEquals( "Config mismatch: current vs expected: " + new ZenModeDiff.ConfigDiff(actual, config10), config10, actual); - assertNotEquals("Expected config mismatch", config11, mZenModeHelperSpy.mConfigs.get(11)); + assertNotEquals("Expected config mismatch", config11, mZenModeHelper.mConfigs.get(11)); } @Test public void testReadXmlRestore_forSystemUser() throws Exception { setupZenConfig(); // one enabled automatic rule - mZenModeHelperSpy.mConfig.automaticRules = getCustomAutomaticRules(); - ZenModeConfig original = mZenModeHelperSpy.mConfig.copy(); + mZenModeHelper.mConfig.automaticRules = getCustomAutomaticRules(); + ZenModeConfig original = mZenModeHelper.mConfig.copy(); ByteArrayOutputStream baos = writeXmlAndPurgeForUser(null, UserHandle.USER_SYSTEM); TypedXmlPullParser parser = getParserForByteStream(baos); - mZenModeHelperSpy.readXml(parser, true, UserHandle.USER_SYSTEM); + mZenModeHelper.readXml(parser, true, UserHandle.USER_SYSTEM); assertEquals("Config mismatch: current vs original: " - + new ZenModeDiff.ConfigDiff(mZenModeHelperSpy.mConfig, original), - original, mZenModeHelperSpy.mConfig); - assertEquals(original.hashCode(), mZenModeHelperSpy.mConfig.hashCode()); + + new ZenModeDiff.ConfigDiff(mZenModeHelper.mConfig, original), + original, mZenModeHelper.mConfig); + assertEquals(original.hashCode(), mZenModeHelper.mConfig.hashCode()); } /** Restore should ignore the data's user id and restore for the target user. */ @@ -1071,24 +1064,24 @@ public class ZenModeHelperTest extends UiServiceTestCase { public void testReadXmlRestore_forNonSystemUser() throws Exception { // Setup config. setupZenConfig(); - mZenModeHelperSpy.mConfig.automaticRules = getCustomAutomaticRules(); - ZenModeConfig expected = mZenModeHelperSpy.mConfig.copy(); + mZenModeHelper.mConfig.automaticRules = getCustomAutomaticRules(); + ZenModeConfig expected = mZenModeHelper.mConfig.copy(); // Backup data for user 0. ByteArrayOutputStream baos = writeXmlAndPurgeForUser(null, UserHandle.USER_SYSTEM); // Restore data for user 10. TypedXmlPullParser parser = getParserForByteStream(baos); - mZenModeHelperSpy.readXml(parser, true, 10); + mZenModeHelper.readXml(parser, true, 10); - ZenModeConfig actual = mZenModeHelperSpy.mConfigs.get(10); + ZenModeConfig actual = mZenModeHelper.mConfigs.get(10); expected.user = 10; assertEquals("Config mismatch: current vs original: " + new ZenModeDiff.ConfigDiff(actual, expected), expected, actual); assertEquals(expected.hashCode(), actual.hashCode()); expected.user = 0; - assertNotEquals(expected, mZenModeHelperSpy.mConfig); + assertNotEquals(expected, mZenModeHelper.mConfig); } @Test @@ -1119,19 +1112,19 @@ public class ZenModeHelperTest extends UiServiceTestCase { .allowReminders(false) .build(); automaticRules.put("customRule", customRule); - mZenModeHelperSpy.mConfig.automaticRules = automaticRules; + mZenModeHelper.mConfig.automaticRules = automaticRules; - ZenModeConfig expected = mZenModeHelperSpy.mConfig.copy(); + ZenModeConfig expected = mZenModeHelper.mConfig.copy(); ByteArrayOutputStream baos = writeXmlAndPurge(null); TypedXmlPullParser parser = Xml.newFastPullParser(); parser.setInput(new BufferedInputStream( new ByteArrayInputStream(baos.toByteArray())), null); parser.nextTag(); - mZenModeHelperSpy.readXml(parser, false, UserHandle.USER_ALL); + mZenModeHelper.readXml(parser, false, UserHandle.USER_ALL); ZenModeConfig.ZenRule original = expected.automaticRules.get(ruleId); - ZenModeConfig.ZenRule current = mZenModeHelperSpy.mConfig.automaticRules.get(ruleId); + ZenModeConfig.ZenRule current = mZenModeHelper.mConfig.automaticRules.get(ruleId); assertEquals("Automatic rules mismatch", original, current); } @@ -1160,16 +1153,16 @@ public class ZenModeHelperTest extends UiServiceTestCase { .allowReminders(true) .build(); automaticRules.put(ruleId, customRule); - mZenModeHelperSpy.mConfig.automaticRules = automaticRules; + mZenModeHelper.mConfig.automaticRules = automaticRules; - ZenModeConfig expected = mZenModeHelperSpy.mConfig.copy(); + ZenModeConfig expected = mZenModeHelper.mConfig.copy(); ByteArrayOutputStream baos = writeXmlAndPurgeForUser(null, UserHandle.USER_SYSTEM); TypedXmlPullParser parser = getParserForByteStream(baos); - mZenModeHelperSpy.readXml(parser, true, UserHandle.USER_SYSTEM); + mZenModeHelper.readXml(parser, true, UserHandle.USER_SYSTEM); ZenModeConfig.ZenRule original = expected.automaticRules.get(ruleId); - ZenModeConfig.ZenRule current = mZenModeHelperSpy.mConfig.automaticRules.get(ruleId); + ZenModeConfig.ZenRule current = mZenModeHelper.mConfig.automaticRules.get(ruleId); assertEquals("Automatic rules mismatch", original, current); } @@ -1188,7 +1181,7 @@ public class ZenModeHelperTest extends UiServiceTestCase { customRule.conditionId = ZenModeConfig.toScheduleConditionId(weeknights); customRule.component = new ComponentName("android", "ScheduleConditionProvider"); enabledAutoRule.put("customRule", customRule); - mZenModeHelperSpy.mConfig.automaticRules = enabledAutoRule; + mZenModeHelper.mConfig.automaticRules = enabledAutoRule; // set previous version ByteArrayOutputStream baos = writeXmlAndPurge(5); @@ -1196,9 +1189,9 @@ public class ZenModeHelperTest extends UiServiceTestCase { parser.setInput(new BufferedInputStream( new ByteArrayInputStream(baos.toByteArray())), null); parser.nextTag(); - mZenModeHelperSpy.readXml(parser, false, UserHandle.USER_ALL); + mZenModeHelper.readXml(parser, false, UserHandle.USER_ALL); - assertTrue(mZenModeHelperSpy.mConfig.automaticRules.containsKey("customRule")); + assertTrue(mZenModeHelper.mConfig.automaticRules.containsKey("customRule")); setupZenConfigMaintained(); } @@ -1216,9 +1209,9 @@ public class ZenModeHelperTest extends UiServiceTestCase { parser.setInput(new BufferedInputStream( new ByteArrayInputStream(xml.getBytes())), null); parser.nextTag(); - mZenModeHelperSpy.readXml(parser, false, UserHandle.USER_ALL); + mZenModeHelper.readXml(parser, false, UserHandle.USER_ALL); - assertEquals(0, mZenModeHelperSpy.mConfig.suppressedVisualEffects); + assertEquals(0, mZenModeHelper.mConfig.suppressedVisualEffects); xml = "<zen version=\"6\" user=\"0\">\n" + "<allow calls=\"false\" repeatCallers=\"false\" messages=\"true\" " @@ -1232,9 +1225,9 @@ public class ZenModeHelperTest extends UiServiceTestCase { parser.setInput(new BufferedInputStream( new ByteArrayInputStream(xml.getBytes())), null); parser.nextTag(); - mZenModeHelperSpy.readXml(parser, false, UserHandle.USER_ALL); + mZenModeHelper.readXml(parser, false, UserHandle.USER_ALL); - assertEquals(0, mZenModeHelperSpy.mConfig.suppressedVisualEffects); + assertEquals(0, mZenModeHelper.mConfig.suppressedVisualEffects); } @Test @@ -1251,9 +1244,9 @@ public class ZenModeHelperTest extends UiServiceTestCase { parser.setInput(new BufferedInputStream( new ByteArrayInputStream(xml.getBytes())), null); parser.nextTag(); - mZenModeHelperSpy.readXml(parser, false, UserHandle.USER_ALL); + mZenModeHelper.readXml(parser, false, UserHandle.USER_ALL); - assertEquals(0, mZenModeHelperSpy.mConfig.suppressedVisualEffects); + assertEquals(0, mZenModeHelper.mConfig.suppressedVisualEffects); } @Test @@ -1270,13 +1263,13 @@ public class ZenModeHelperTest extends UiServiceTestCase { parser.setInput(new BufferedInputStream( new ByteArrayInputStream(xml.getBytes())), null); parser.nextTag(); - mZenModeHelperSpy.readXml(parser, false, UserHandle.USER_ALL); + mZenModeHelper.readXml(parser, false, UserHandle.USER_ALL); assertEquals(SUPPRESSED_EFFECT_FULL_SCREEN_INTENT | SUPPRESSED_EFFECT_LIGHTS | SUPPRESSED_EFFECT_AMBIENT | SUPPRESSED_EFFECT_PEEK, - mZenModeHelperSpy.mConfig.suppressedVisualEffects); + mZenModeHelper.mConfig.suppressedVisualEffects); xml = "<zen version=\"6\" user=\"0\">\n" + "<allow calls=\"false\" repeatCallers=\"false\" messages=\"true\" " @@ -1290,9 +1283,9 @@ public class ZenModeHelperTest extends UiServiceTestCase { parser.setInput(new BufferedInputStream( new ByteArrayInputStream(xml.getBytes())), null); parser.nextTag(); - mZenModeHelperSpy.readXml(parser, false, UserHandle.USER_ALL); + mZenModeHelper.readXml(parser, false, UserHandle.USER_ALL); - assertEquals(SUPPRESSED_EFFECT_PEEK, mZenModeHelperSpy.mConfig.suppressedVisualEffects); + assertEquals(SUPPRESSED_EFFECT_PEEK, mZenModeHelper.mConfig.suppressedVisualEffects); xml = "<zen version=\"6\" user=\"0\">\n" + "<allow calls=\"false\" repeatCallers=\"false\" messages=\"true\" " @@ -1306,12 +1299,12 @@ public class ZenModeHelperTest extends UiServiceTestCase { parser.setInput(new BufferedInputStream( new ByteArrayInputStream(xml.getBytes())), null); parser.nextTag(); - mZenModeHelperSpy.readXml(parser, false, UserHandle.USER_ALL); + mZenModeHelper.readXml(parser, false, UserHandle.USER_ALL); assertEquals(SUPPRESSED_EFFECT_FULL_SCREEN_INTENT | SUPPRESSED_EFFECT_LIGHTS | SUPPRESSED_EFFECT_AMBIENT, - mZenModeHelperSpy.mConfig.suppressedVisualEffects); + mZenModeHelper.mConfig.suppressedVisualEffects); } @Test @@ -1320,7 +1313,7 @@ public class ZenModeHelperTest extends UiServiceTestCase { // no enabled automatic zen rules and no default rules // so rules should be overriden by default rules - mZenModeHelperSpy.mConfig.automaticRules = new ArrayMap<>(); + mZenModeHelper.mConfig.automaticRules = new ArrayMap<>(); // set previous version ByteArrayOutputStream baos = writeXmlAndPurge(5); @@ -1328,10 +1321,10 @@ public class ZenModeHelperTest extends UiServiceTestCase { parser.setInput(new BufferedInputStream( new ByteArrayInputStream(baos.toByteArray())), null); parser.nextTag(); - mZenModeHelperSpy.readXml(parser, false, UserHandle.USER_ALL); + mZenModeHelper.readXml(parser, false, UserHandle.USER_ALL); // check default rules - ArrayMap<String, ZenModeConfig.ZenRule> rules = mZenModeHelperSpy.mConfig.automaticRules; + ArrayMap<String, ZenModeConfig.ZenRule> rules = mZenModeHelper.mConfig.automaticRules; assertTrue(rules.size() != 0); for (String defaultId : ZenModeConfig.DEFAULT_RULE_IDS) { assertTrue(rules.containsKey(defaultId)); @@ -1356,7 +1349,7 @@ public class ZenModeHelperTest extends UiServiceTestCase { customRule.conditionId = ZenModeConfig.toScheduleConditionId(weeknights); customRule.component = new ComponentName("android", "ScheduleConditionProvider"); disabledAutoRule.put("customRule", customRule); - mZenModeHelperSpy.mConfig.automaticRules = disabledAutoRule; + mZenModeHelper.mConfig.automaticRules = disabledAutoRule; // set previous version ByteArrayOutputStream baos = writeXmlAndPurge(5); @@ -1364,10 +1357,10 @@ public class ZenModeHelperTest extends UiServiceTestCase { parser.setInput(new BufferedInputStream( new ByteArrayInputStream(baos.toByteArray())), null); parser.nextTag(); - mZenModeHelperSpy.readXml(parser, false, UserHandle.USER_ALL); + mZenModeHelper.readXml(parser, false, UserHandle.USER_ALL); // check default rules - ArrayMap<String, ZenModeConfig.ZenRule> rules = mZenModeHelperSpy.mConfig.automaticRules; + ArrayMap<String, ZenModeConfig.ZenRule> rules = mZenModeHelper.mConfig.automaticRules; assertTrue(rules.size() != 0); for (String defaultId : ZenModeConfig.DEFAULT_RULE_IDS) { assertTrue(rules.containsKey(defaultId)); @@ -1408,7 +1401,7 @@ public class ZenModeHelperTest extends UiServiceTestCase { defaultScheduleRule.id = ZenModeConfig.EVERY_NIGHT_DEFAULT_RULE_ID; automaticRules.put(ZenModeConfig.EVERY_NIGHT_DEFAULT_RULE_ID, defaultScheduleRule); - mZenModeHelperSpy.mConfig.automaticRules = automaticRules; + mZenModeHelper.mConfig.automaticRules = automaticRules; // set previous version ByteArrayOutputStream baos = writeXmlAndPurge(5); @@ -1416,10 +1409,10 @@ public class ZenModeHelperTest extends UiServiceTestCase { parser.setInput(new BufferedInputStream( new ByteArrayInputStream(baos.toByteArray())), null); parser.nextTag(); - mZenModeHelperSpy.readXml(parser, false, UserHandle.USER_ALL); + mZenModeHelper.readXml(parser, false, UserHandle.USER_ALL); // check default rules - ArrayMap<String, ZenModeConfig.ZenRule> rules = mZenModeHelperSpy.mConfig.automaticRules; + ArrayMap<String, ZenModeConfig.ZenRule> rules = mZenModeHelper.mConfig.automaticRules; assertTrue(rules.size() != 0); for (String defaultId : ZenModeConfig.DEFAULT_RULE_IDS) { assertTrue(rules.containsKey(defaultId)); @@ -1477,7 +1470,7 @@ public class ZenModeHelperTest extends UiServiceTestCase { .build(); automaticRules.put(ZenModeConfig.EVENTS_DEFAULT_RULE_ID, defaultEventRule); - mZenModeHelperSpy.mConfig.automaticRules = automaticRules; + mZenModeHelper.mConfig.automaticRules = automaticRules; // set previous version ByteArrayOutputStream baos = writeXmlAndPurge(5); @@ -1485,10 +1478,10 @@ public class ZenModeHelperTest extends UiServiceTestCase { parser.setInput(new BufferedInputStream( new ByteArrayInputStream(baos.toByteArray())), null); parser.nextTag(); - mZenModeHelperSpy.readXml(parser, false, UserHandle.USER_ALL); + mZenModeHelper.readXml(parser, false, UserHandle.USER_ALL); // check default rules - ArrayMap<String, ZenModeConfig.ZenRule> rules = mZenModeHelperSpy.mConfig.automaticRules; + ArrayMap<String, ZenModeConfig.ZenRule> rules = mZenModeHelper.mConfig.automaticRules; assertTrue(rules.size() != 0); for (String defaultId : ZenModeConfig.DEFAULT_RULE_IDS) { assertTrue(rules.containsKey(defaultId)); @@ -1498,32 +1491,32 @@ public class ZenModeHelperTest extends UiServiceTestCase { setupZenConfigMaintained(); List<StatsEvent> events = new LinkedList<>(); - mZenModeHelperSpy.pullRules(events); + mZenModeHelper.pullRules(events); assertEquals(4, events.size()); } @Test public void testCountdownConditionSubscription() throws Exception { ZenModeConfig config = new ZenModeConfig(); - mZenModeHelperSpy.mConfig = config; - mZenModeHelperSpy.mConditions.evaluateConfig(mZenModeHelperSpy.mConfig, null, true); - assertEquals(0, mZenModeHelperSpy.mConditions.mSubscriptions.size()); + mZenModeHelper.mConfig = config; + mZenModeHelper.mConditions.evaluateConfig(mZenModeHelper.mConfig, null, true); + assertEquals(0, mZenModeHelper.mConditions.mSubscriptions.size()); - mZenModeHelperSpy.mConfig.manualRule = new ZenModeConfig.ZenRule(); + mZenModeHelper.mConfig.manualRule = new ZenModeConfig.ZenRule(); Uri conditionId = ZenModeConfig.toCountdownConditionId(9000000, false); - mZenModeHelperSpy.mConfig.manualRule.conditionId = conditionId; - mZenModeHelperSpy.mConfig.manualRule.component = new ComponentName("android", + mZenModeHelper.mConfig.manualRule.conditionId = conditionId; + mZenModeHelper.mConfig.manualRule.component = new ComponentName("android", CountdownConditionProvider.class.getName()); - mZenModeHelperSpy.mConfig.manualRule.condition = new Condition(conditionId, "", "", "", 0, + mZenModeHelper.mConfig.manualRule.condition = new Condition(conditionId, "", "", "", 0, STATE_TRUE, Condition.FLAG_RELEVANT_NOW); - mZenModeHelperSpy.mConfig.manualRule.enabled = true; - ZenModeConfig originalConfig = mZenModeHelperSpy.mConfig.copy(); + mZenModeHelper.mConfig.manualRule.enabled = true; + ZenModeConfig originalConfig = mZenModeHelper.mConfig.copy(); - mZenModeHelperSpy.mConditions.evaluateConfig(mZenModeHelperSpy.mConfig, null, true); + mZenModeHelper.mConditions.evaluateConfig(mZenModeHelper.mConfig, null, true); assertEquals(true, ZenModeConfig.isValidCountdownConditionId(conditionId)); - assertEquals(originalConfig, mZenModeHelperSpy.mConfig); - assertEquals(1, mZenModeHelperSpy.mConditions.mSubscriptions.size()); + assertEquals(originalConfig, mZenModeHelper.mConfig); + assertEquals(1, mZenModeHelper.mConditions.mSubscriptions.size()); } @Test @@ -1531,9 +1524,9 @@ public class ZenModeHelperTest extends UiServiceTestCase { List<StatsEvent> events = new LinkedList<>(); ZenModeConfig config = new ZenModeConfig(); config.automaticRules = new ArrayMap<>(); - mZenModeHelperSpy.mConfig = config; - mZenModeHelperSpy.updateDefaultZenRules(); // shouldn't throw null pointer - mZenModeHelperSpy.pullRules(events); // shouldn't throw null pointer + mZenModeHelper.mConfig = config; + mZenModeHelper.updateDefaultZenRules(); // shouldn't throw null pointer + mZenModeHelper.pullRules(events); // shouldn't throw null pointer } @Test @@ -1555,11 +1548,11 @@ public class ZenModeHelperTest extends UiServiceTestCase { ArrayMap<String, ZenModeConfig.ZenRule> autoRules = new ArrayMap<>(); autoRules.put(SCHEDULE_DEFAULT_RULE_ID, updatedDefaultRule); - mZenModeHelperSpy.mConfig.automaticRules = autoRules; + mZenModeHelper.mConfig.automaticRules = autoRules; - mZenModeHelperSpy.updateDefaultZenRules(); + mZenModeHelper.updateDefaultZenRules(); assertEquals(updatedDefaultRule, - mZenModeHelperSpy.mConfig.automaticRules.get(SCHEDULE_DEFAULT_RULE_ID)); + mZenModeHelper.mConfig.automaticRules.get(SCHEDULE_DEFAULT_RULE_ID)); } @Test @@ -1581,11 +1574,11 @@ public class ZenModeHelperTest extends UiServiceTestCase { ArrayMap<String, ZenModeConfig.ZenRule> autoRules = new ArrayMap<>(); autoRules.put(SCHEDULE_DEFAULT_RULE_ID, updatedDefaultRule); - mZenModeHelperSpy.mConfig.automaticRules = autoRules; + mZenModeHelper.mConfig.automaticRules = autoRules; - mZenModeHelperSpy.updateDefaultZenRules(); + mZenModeHelper.updateDefaultZenRules(); assertEquals(updatedDefaultRule, - mZenModeHelperSpy.mConfig.automaticRules.get(SCHEDULE_DEFAULT_RULE_ID)); + mZenModeHelper.mConfig.automaticRules.get(SCHEDULE_DEFAULT_RULE_ID)); } @Test @@ -1608,11 +1601,11 @@ public class ZenModeHelperTest extends UiServiceTestCase { ArrayMap<String, ZenModeConfig.ZenRule> autoRules = new ArrayMap<>(); autoRules.put(SCHEDULE_DEFAULT_RULE_ID, customDefaultRule); - mZenModeHelperSpy.mConfig.automaticRules = autoRules; + mZenModeHelper.mConfig.automaticRules = autoRules; - mZenModeHelperSpy.updateDefaultZenRules(); + mZenModeHelper.updateDefaultZenRules(); ZenModeConfig.ZenRule ruleAfterUpdating = - mZenModeHelperSpy.mConfig.automaticRules.get(SCHEDULE_DEFAULT_RULE_ID); + mZenModeHelper.mConfig.automaticRules.get(SCHEDULE_DEFAULT_RULE_ID); assertEquals(customDefaultRule.enabled, ruleAfterUpdating.enabled); assertEquals(customDefaultRule.modified, ruleAfterUpdating.modified); assertEquals(customDefaultRule.id, ruleAfterUpdating.id); @@ -1633,7 +1626,7 @@ public class ZenModeHelperTest extends UiServiceTestCase { NotificationManager.INTERRUPTION_FILTER_PRIORITY, true); // We need the package name to be something that's not "android" so there aren't any // existing rules under that package. - String id = mZenModeHelperSpy.addAutomaticZenRule("pkgname", zenRule, "test"); + String id = mZenModeHelper.addAutomaticZenRule("pkgname", zenRule, "test"); assertNotNull(id); } try { @@ -1643,7 +1636,7 @@ public class ZenModeHelperTest extends UiServiceTestCase { ZenModeConfig.toScheduleConditionId(new ScheduleInfo()), new ZenPolicy.Builder().build(), NotificationManager.INTERRUPTION_FILTER_PRIORITY, true); - String id = mZenModeHelperSpy.addAutomaticZenRule("pkgname", zenRule, "test"); + String id = mZenModeHelper.addAutomaticZenRule("pkgname", zenRule, "test"); fail("allowed too many rules to be created"); } catch (IllegalArgumentException e) { // yay @@ -1663,7 +1656,7 @@ public class ZenModeHelperTest extends UiServiceTestCase { ZenModeConfig.toScheduleConditionId(si), new ZenPolicy.Builder().build(), NotificationManager.INTERRUPTION_FILTER_PRIORITY, true); - String id = mZenModeHelperSpy.addAutomaticZenRule("pkgname", zenRule, "test"); + String id = mZenModeHelper.addAutomaticZenRule("pkgname", zenRule, "test"); assertNotNull(id); } try { @@ -1673,7 +1666,7 @@ public class ZenModeHelperTest extends UiServiceTestCase { ZenModeConfig.toScheduleConditionId(new ScheduleInfo()), new ZenPolicy.Builder().build(), NotificationManager.INTERRUPTION_FILTER_PRIORITY, true); - String id = mZenModeHelperSpy.addAutomaticZenRule("pkgname", zenRule, "test"); + String id = mZenModeHelper.addAutomaticZenRule("pkgname", zenRule, "test"); fail("allowed too many rules to be created"); } catch (IllegalArgumentException e) { // yay @@ -1693,7 +1686,7 @@ public class ZenModeHelperTest extends UiServiceTestCase { ZenModeConfig.toScheduleConditionId(si), new ZenPolicy.Builder().build(), NotificationManager.INTERRUPTION_FILTER_PRIORITY, true); - String id = mZenModeHelperSpy.addAutomaticZenRule("pkgname", zenRule, "test"); + String id = mZenModeHelper.addAutomaticZenRule("pkgname", zenRule, "test"); assertNotNull(id); } try { @@ -1703,7 +1696,7 @@ public class ZenModeHelperTest extends UiServiceTestCase { ZenModeConfig.toScheduleConditionId(new ScheduleInfo()), new ZenPolicy.Builder().build(), NotificationManager.INTERRUPTION_FILTER_PRIORITY, true); - String id = mZenModeHelperSpy.addAutomaticZenRule("pkgname", zenRule, "test"); + String id = mZenModeHelper.addAutomaticZenRule("pkgname", zenRule, "test"); fail("allowed too many rules to be created"); } catch (IllegalArgumentException e) { // yay @@ -1718,10 +1711,10 @@ public class ZenModeHelperTest extends UiServiceTestCase { ZenModeConfig.toScheduleConditionId(new ScheduleInfo()), new ZenPolicy.Builder().build(), NotificationManager.INTERRUPTION_FILTER_PRIORITY, true); - String id = mZenModeHelperSpy.addAutomaticZenRule("android", zenRule, "test"); + String id = mZenModeHelper.addAutomaticZenRule("android", zenRule, "test"); assertTrue(id != null); - ZenModeConfig.ZenRule ruleInConfig = mZenModeHelperSpy.mConfig.automaticRules.get(id); + ZenModeConfig.ZenRule ruleInConfig = mZenModeHelper.mConfig.automaticRules.get(id); assertTrue(ruleInConfig != null); assertEquals(zenRule.isEnabled(), ruleInConfig.enabled); assertEquals(zenRule.isModified(), ruleInConfig.modified); @@ -1738,10 +1731,10 @@ public class ZenModeHelperTest extends UiServiceTestCase { new ComponentName("android", "ScheduleConditionProvider"), ZenModeConfig.toScheduleConditionId(new ScheduleInfo()), NotificationManager.INTERRUPTION_FILTER_PRIORITY, true); - String id = mZenModeHelperSpy.addAutomaticZenRule("android", zenRule, "test"); + String id = mZenModeHelper.addAutomaticZenRule("android", zenRule, "test"); assertTrue(id != null); - ZenModeConfig.ZenRule ruleInConfig = mZenModeHelperSpy.mConfig.automaticRules.get(id); + ZenModeConfig.ZenRule ruleInConfig = mZenModeHelper.mConfig.automaticRules.get(id); assertTrue(ruleInConfig != null); assertEquals(zenRule.isEnabled(), ruleInConfig.enabled); assertEquals(zenRule.isModified(), ruleInConfig.modified); @@ -1761,11 +1754,11 @@ public class ZenModeHelperTest extends UiServiceTestCase { new ZenPolicy.Builder().build(), NotificationManager.INTERRUPTION_FILTER_PRIORITY, true); - String id = mZenModeHelperSpy.addAutomaticZenRule(null, zenRule, "test"); - mZenModeHelperSpy.setAutomaticZenRuleState(zenRule.getConditionId(), + String id = mZenModeHelper.addAutomaticZenRule(null, zenRule, "test"); + mZenModeHelper.setAutomaticZenRuleState(zenRule.getConditionId(), new Condition(zenRule.getConditionId(), "", STATE_TRUE)); - ZenModeConfig.ZenRule ruleInConfig = mZenModeHelperSpy.mConfig.automaticRules.get(id); + ZenModeConfig.ZenRule ruleInConfig = mZenModeHelper.mConfig.automaticRules.get(id); assertEquals(STATE_TRUE, ruleInConfig.condition.state); } @@ -1778,7 +1771,7 @@ public class ZenModeHelperTest extends UiServiceTestCase { new ZenPolicy.Builder().build(), NotificationManager.INTERRUPTION_FILTER_PRIORITY, true); - String id = mZenModeHelperSpy.addAutomaticZenRule(null, zenRule, "test"); + String id = mZenModeHelper.addAutomaticZenRule(null, zenRule, "test"); AutomaticZenRule zenRule2 = new AutomaticZenRule("NEW", null, @@ -1787,9 +1780,9 @@ public class ZenModeHelperTest extends UiServiceTestCase { new ZenPolicy.Builder().build(), NotificationManager.INTERRUPTION_FILTER_PRIORITY, true); - mZenModeHelperSpy.updateAutomaticZenRule(id, zenRule2, ""); + mZenModeHelper.updateAutomaticZenRule(id, zenRule2, ""); - ZenModeConfig.ZenRule ruleInConfig = mZenModeHelperSpy.mConfig.automaticRules.get(id); + ZenModeConfig.ZenRule ruleInConfig = mZenModeHelper.mConfig.automaticRules.get(id); assertEquals("NEW", ruleInConfig.name); } @@ -1802,15 +1795,15 @@ public class ZenModeHelperTest extends UiServiceTestCase { new ZenPolicy.Builder().build(), NotificationManager.INTERRUPTION_FILTER_PRIORITY, true); - String id = mZenModeHelperSpy.addAutomaticZenRule(null, zenRule, "test"); + String id = mZenModeHelper.addAutomaticZenRule(null, zenRule, "test"); assertTrue(id != null); - ZenModeConfig.ZenRule ruleInConfig = mZenModeHelperSpy.mConfig.automaticRules.get(id); + ZenModeConfig.ZenRule ruleInConfig = mZenModeHelper.mConfig.automaticRules.get(id); assertTrue(ruleInConfig != null); assertEquals(zenRule.getName(), ruleInConfig.name); - mZenModeHelperSpy.removeAutomaticZenRule(id, "test"); - assertNull(mZenModeHelperSpy.mConfig.automaticRules.get(id)); + mZenModeHelper.removeAutomaticZenRule(id, "test"); + assertNull(mZenModeHelper.mConfig.automaticRules.get(id)); } @Test @@ -1821,15 +1814,15 @@ public class ZenModeHelperTest extends UiServiceTestCase { ZenModeConfig.toScheduleConditionId(new ScheduleInfo()), new ZenPolicy.Builder().build(), NotificationManager.INTERRUPTION_FILTER_PRIORITY, true); - String id = mZenModeHelperSpy.addAutomaticZenRule(null, zenRule, "test"); + String id = mZenModeHelper.addAutomaticZenRule(null, zenRule, "test"); assertTrue(id != null); - ZenModeConfig.ZenRule ruleInConfig = mZenModeHelperSpy.mConfig.automaticRules.get(id); + ZenModeConfig.ZenRule ruleInConfig = mZenModeHelper.mConfig.automaticRules.get(id); assertTrue(ruleInConfig != null); assertEquals(zenRule.getName(), ruleInConfig.name); - mZenModeHelperSpy.removeAutomaticZenRules(mContext.getPackageName(), "test"); - assertNull(mZenModeHelperSpy.mConfig.automaticRules.get(id)); + mZenModeHelper.removeAutomaticZenRules(mContext.getPackageName(), "test"); + assertNull(mZenModeHelper.mConfig.automaticRules.get(id)); } @Test @@ -1839,17 +1832,17 @@ public class ZenModeHelperTest extends UiServiceTestCase { new ComponentName("android", "ScheduleConditionProvider"), sharedUri, NotificationManager.INTERRUPTION_FILTER_PRIORITY, true); - String id = mZenModeHelperSpy.addAutomaticZenRule("android", zenRule, "test"); + String id = mZenModeHelper.addAutomaticZenRule("android", zenRule, "test"); AutomaticZenRule zenRule2 = new AutomaticZenRule("name2", new ComponentName("android", "ScheduleConditionProvider"), sharedUri, NotificationManager.INTERRUPTION_FILTER_PRIORITY, true); - String id2 = mZenModeHelperSpy.addAutomaticZenRule("android", zenRule2, "test"); + String id2 = mZenModeHelper.addAutomaticZenRule("android", zenRule2, "test"); Condition condition = new Condition(sharedUri, "", STATE_TRUE); - mZenModeHelperSpy.setAutomaticZenRuleState(sharedUri, condition); + mZenModeHelper.setAutomaticZenRuleState(sharedUri, condition); - for (ZenModeConfig.ZenRule rule : mZenModeHelperSpy.mConfig.automaticRules.values()) { + for (ZenModeConfig.ZenRule rule : mZenModeHelper.mConfig.automaticRules.values()) { if (rule.id.equals(id)) { assertNotNull(rule.condition); assertTrue(rule.condition.state == STATE_TRUE); @@ -1861,9 +1854,9 @@ public class ZenModeHelperTest extends UiServiceTestCase { } condition = new Condition(sharedUri, "", Condition.STATE_FALSE); - mZenModeHelperSpy.setAutomaticZenRuleState(sharedUri, condition); + mZenModeHelper.setAutomaticZenRuleState(sharedUri, condition); - for (ZenModeConfig.ZenRule rule : mZenModeHelperSpy.mConfig.automaticRules.values()) { + for (ZenModeConfig.ZenRule rule : mZenModeHelper.mConfig.automaticRules.values()) { if (rule.id.equals(id)) { assertNotNull(rule.condition); assertTrue(rule.condition.state == Condition.STATE_FALSE); @@ -1875,31 +1868,48 @@ public class ZenModeHelperTest extends UiServiceTestCase { } } + @Test + public void testSetManualZenMode() { + setupZenConfig(); + + // note that caller=null because that's how it comes in from NMS.setZenMode + mZenModeHelper.setManualZenMode(ZEN_MODE_IMPORTANT_INTERRUPTIONS, null, null, ""); + mTestableLooper.processAllMessages(); + + // confirm that setting zen mode via setManualZenMode changed the zen mode correctly + assertEquals(ZEN_MODE_IMPORTANT_INTERRUPTIONS, mZenModeHelper.mZenMode); + + // and also that it works to turn it back off again + mZenModeHelper.setManualZenMode(Global.ZEN_MODE_OFF, null, null, ""); + mTestableLooper.processAllMessages(); + assertEquals(Global.ZEN_MODE_OFF, mZenModeHelper.mZenMode); + } + private void setupZenConfig() { - mZenModeHelperSpy.mZenMode = ZEN_MODE_IMPORTANT_INTERRUPTIONS; - mZenModeHelperSpy.mConfig.allowAlarms = false; - mZenModeHelperSpy.mConfig.allowMedia = false; - mZenModeHelperSpy.mConfig.allowSystem = false; - mZenModeHelperSpy.mConfig.allowReminders = true; - mZenModeHelperSpy.mConfig.allowCalls = true; - mZenModeHelperSpy.mConfig.allowMessages = true; - mZenModeHelperSpy.mConfig.allowEvents = true; - mZenModeHelperSpy.mConfig.allowRepeatCallers= true; - mZenModeHelperSpy.mConfig.suppressedVisualEffects = SUPPRESSED_EFFECT_BADGE; - mZenModeHelperSpy.mConfig.manualRule = null; + mZenModeHelper.mZenMode = Global.ZEN_MODE_OFF; + mZenModeHelper.mConfig.allowAlarms = false; + mZenModeHelper.mConfig.allowMedia = false; + mZenModeHelper.mConfig.allowSystem = false; + mZenModeHelper.mConfig.allowReminders = true; + mZenModeHelper.mConfig.allowCalls = true; + mZenModeHelper.mConfig.allowMessages = true; + mZenModeHelper.mConfig.allowEvents = true; + mZenModeHelper.mConfig.allowRepeatCallers = true; + mZenModeHelper.mConfig.suppressedVisualEffects = SUPPRESSED_EFFECT_BADGE; + mZenModeHelper.mConfig.manualRule = null; } private void setupZenConfigMaintained() { // config is still the same as when it was setup (setupZenConfig) - assertFalse(mZenModeHelperSpy.mConfig.allowAlarms); - assertFalse(mZenModeHelperSpy.mConfig.allowMedia); - assertFalse(mZenModeHelperSpy.mConfig.allowSystem); - assertTrue(mZenModeHelperSpy.mConfig.allowReminders); - assertTrue(mZenModeHelperSpy.mConfig.allowCalls); - assertTrue(mZenModeHelperSpy.mConfig.allowMessages); - assertTrue(mZenModeHelperSpy.mConfig.allowEvents); - assertTrue(mZenModeHelperSpy.mConfig.allowRepeatCallers); - assertEquals(SUPPRESSED_EFFECT_BADGE, mZenModeHelperSpy.mConfig.suppressedVisualEffects); + assertFalse(mZenModeHelper.mConfig.allowAlarms); + assertFalse(mZenModeHelper.mConfig.allowMedia); + assertFalse(mZenModeHelper.mConfig.allowSystem); + assertTrue(mZenModeHelper.mConfig.allowReminders); + assertTrue(mZenModeHelper.mConfig.allowCalls); + assertTrue(mZenModeHelper.mConfig.allowMessages); + assertTrue(mZenModeHelper.mConfig.allowEvents); + assertTrue(mZenModeHelper.mConfig.allowRepeatCallers); + assertEquals(SUPPRESSED_EFFECT_BADGE, mZenModeHelper.mConfig.suppressedVisualEffects); } /** |