diff options
| -rw-r--r-- | services/core/java/com/android/server/notification/ZenModeEventLogger.java | 2 | ||||
| -rw-r--r-- | services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java | 27 |
2 files changed, 17 insertions, 12 deletions
diff --git a/services/core/java/com/android/server/notification/ZenModeEventLogger.java b/services/core/java/com/android/server/notification/ZenModeEventLogger.java index 8e37b4f24880..418eacc7ca65 100644 --- a/services/core/java/com/android/server/notification/ZenModeEventLogger.java +++ b/services/core/java/com/android/server/notification/ZenModeEventLogger.java @@ -436,7 +436,7 @@ class ZenModeEventLogger { * Only available when {@code MODES_API} is active; otherwise returns an empty list. */ int[] getActiveRuleTypes() { - if (!Flags.modesApi() || mNewZenMode == ZEN_MODE_OFF) { + if (!Flags.modesApi()) { return new int[0]; } 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 c4d246052580..6f07472af551 100644 --- a/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/ZenModeHelperTest.java @@ -3634,12 +3634,11 @@ public class ZenModeHelperTest extends UiServiceTestCase { mTestFlagResolver.setFlagOverride(LOG_DND_STATE_EVENTS, true); setupZenConfig(); - // Event 1: turn on manual zen mode. Manual rule will have ACTIVE_RULE_TYPE_MANUAL - mZenModeHelper.setManualZenMode(ZEN_MODE_IMPORTANT_INTERRUPTIONS, null, - UPDATE_ORIGIN_SYSTEM_OR_SYSTEMUI, "", null, Process.SYSTEM_UID); - // Create bedtime rule + // This one has INTERRUPTION_FILTER_ALL to make sure active rules still count when zen mode + // (in the notification filtering sense) is not on AutomaticZenRule bedtime = new AutomaticZenRule.Builder("Bedtime Mode (TM)", CONDITION_ID) + .setInterruptionFilter(INTERRUPTION_FILTER_ALL) .setType(TYPE_BEDTIME) .build(); String bedtimeRuleId = mZenModeHelper.addAutomaticZenRule(mPkg, bedtime, UPDATE_ORIGIN_APP, @@ -3652,17 +3651,21 @@ public class ZenModeHelperTest extends UiServiceTestCase { String immersiveId = mZenModeHelper.addAutomaticZenRule(mPkg, immersive, UPDATE_ORIGIN_APP, "reason", CUSTOM_PKG_UID); - // Event 2: Activate bedtime rule + // Event 1: Activate bedtime rule. This doesn't turn on notification filtering mZenModeHelper.setAutomaticZenRuleState(bedtimeRuleId, new Condition(bedtime.getConditionId(), "", STATE_TRUE, SOURCE_SCHEDULE), UPDATE_ORIGIN_APP, CUSTOM_PKG_UID); + // Event 2: turn on manual zen mode. Manual rule will have ACTIVE_RULE_TYPE_MANUAL + mZenModeHelper.setManualZenMode(ZEN_MODE_IMPORTANT_INTERRUPTIONS, null, + UPDATE_ORIGIN_SYSTEM_OR_SYSTEMUI, "", null, Process.SYSTEM_UID); + // Event 3: Turn immersive on mZenModeHelper.setAutomaticZenRuleState(immersiveId, new Condition(immersive.getConditionId(), "", STATE_TRUE, SOURCE_SCHEDULE), UPDATE_ORIGIN_APP, CUSTOM_PKG_UID); - // Event 4: Turn off bedtime mode, leaving just unknown + immersive + // Event 4: Turn off bedtime mode, leaving just manual + immersive mZenModeHelper.setAutomaticZenRuleState(bedtimeRuleId, new Condition(bedtime.getConditionId(), "", STATE_FALSE, SOURCE_SCHEDULE), UPDATE_ORIGIN_APP, CUSTOM_PKG_UID); @@ -3670,19 +3673,21 @@ public class ZenModeHelperTest extends UiServiceTestCase { // Total of 4 events assertEquals(4, mZenModeEventLogger.numLoggedChanges()); - // First event: DND_TURNED_ON; active rules: 1; type is ACTIVE_RULE_TYPE_MANUAL + // First event: active rules changed; active rules: 1; type is ACTIVE_RULE_TYPE_MANUAL assertThat(mZenModeEventLogger.getEventId(0)).isEqualTo( - ZenModeEventLogger.ZenStateChangedEvent.DND_TURNED_ON.getId()); + ZenModeEventLogger.ZenStateChangedEvent.DND_ACTIVE_RULES_CHANGED.getId()); assertThat(mZenModeEventLogger.getChangedRuleType(0)).isEqualTo( - DNDProtoEnums.MANUAL_RULE); + DNDProtoEnums.AUTOMATIC_RULE); assertThat(mZenModeEventLogger.getNumRulesActive(0)).isEqualTo(1); int[] ruleTypes0 = mZenModeEventLogger.getActiveRuleTypes(0); assertThat(ruleTypes0.length).isEqualTo(1); - assertThat(ruleTypes0[0]).isEqualTo(ACTIVE_RULE_TYPE_MANUAL); + assertThat(ruleTypes0[0]).isEqualTo(TYPE_BEDTIME); // Second event: active rules: 2; types are TYPE_MANUAL and TYPE_BEDTIME + assertThat(mZenModeEventLogger.getEventId(1)).isEqualTo( + ZenModeEventLogger.ZenStateChangedEvent.DND_TURNED_ON.getId()); assertThat(mZenModeEventLogger.getChangedRuleType(1)).isEqualTo( - DNDProtoEnums.AUTOMATIC_RULE); + DNDProtoEnums.MANUAL_RULE); assertThat(mZenModeEventLogger.getNumRulesActive(1)).isEqualTo(2); int[] ruleTypes1 = mZenModeEventLogger.getActiveRuleTypes(1); assertThat(ruleTypes1.length).isEqualTo(2); |