diff options
| -rw-r--r-- | core/java/android/service/notification/ZenModeConfig.java | 13 | ||||
| -rw-r--r-- | services/tests/uiservicestests/src/com/android/server/notification/ZenModeConfigTest.java | 21 |
2 files changed, 28 insertions, 6 deletions
diff --git a/core/java/android/service/notification/ZenModeConfig.java b/core/java/android/service/notification/ZenModeConfig.java index bec654ab65ac..bff118eaa6fa 100644 --- a/core/java/android/service/notification/ZenModeConfig.java +++ b/core/java/android/service/notification/ZenModeConfig.java @@ -958,13 +958,15 @@ public class ZenModeConfig implements Parcelable { if (zenPolicy.isCategoryAllowed(ZenPolicy.PRIORITY_CATEGORY_MESSAGES, isPriorityCategoryEnabled(Policy.PRIORITY_CATEGORY_MESSAGES, defaultPolicy))) { priorityCategories |= Policy.PRIORITY_CATEGORY_MESSAGES; - messageSenders = getNotificationPolicySenders(zenPolicy.getPriorityMessageSenders()); + messageSenders = getNotificationPolicySenders(zenPolicy.getPriorityMessageSenders(), + messageSenders); } if (zenPolicy.isCategoryAllowed(ZenPolicy.PRIORITY_CATEGORY_CALLS, isPriorityCategoryEnabled(Policy.PRIORITY_CATEGORY_CALLS, defaultPolicy))) { priorityCategories |= Policy.PRIORITY_CATEGORY_CALLS; - callSenders = getNotificationPolicySenders(zenPolicy.getPriorityCallSenders()); + callSenders = getNotificationPolicySenders(zenPolicy.getPriorityCallSenders(), + callSenders); } if (zenPolicy.isCategoryAllowed(ZenPolicy.PRIORITY_CATEGORY_REPEAT_CALLERS, @@ -1056,16 +1058,17 @@ public class ZenModeConfig implements Parcelable { return (policy.suppressedVisualEffects & visualEffect) == 0; } - private int getNotificationPolicySenders(@ZenPolicy.PeopleType int senders) { + private int getNotificationPolicySenders(@ZenPolicy.PeopleType int senders, + int defaultPolicySender) { switch (senders) { case ZenPolicy.PEOPLE_TYPE_ANYONE: return Policy.PRIORITY_SENDERS_ANY; case ZenPolicy.PEOPLE_TYPE_CONTACTS: - return Policy.PRIORITY_SENDERS_CONTACTS; case ZenPolicy.PEOPLE_TYPE_STARRED: - default: return Policy.PRIORITY_SENDERS_STARRED; + default: + return defaultPolicySender; } } diff --git a/services/tests/uiservicestests/src/com/android/server/notification/ZenModeConfigTest.java b/services/tests/uiservicestests/src/com/android/server/notification/ZenModeConfigTest.java index 68d3e4c3f704..9c7e0289248b 100644 --- a/services/tests/uiservicestests/src/com/android/server/notification/ZenModeConfigTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/ZenModeConfigTest.java @@ -67,7 +67,7 @@ public class ZenModeConfigTest extends UiServiceTestCase { @Test public void testZenPolicyNothingSetToNotificationPolicy() { - ZenModeConfig config = getMutedAllConfig(); + ZenModeConfig config = getCustomConfig(); ZenPolicy zenPolicy = new ZenPolicy.Builder().build(); assertEquals(config.toNotificationPolicy(), config.toNotificationPolicy(zenPolicy)); } @@ -219,6 +219,25 @@ public class ZenModeConfigTest extends UiServiceTestCase { return config; } + private ZenModeConfig getCustomConfig() { + ZenModeConfig config = new ZenModeConfig(); + // Some sounds allowed + config.allowAlarms = true; + config.allowMedia = false; + config.allowSystem = false; + config.allowCalls = true; + config.allowRepeatCallers = true; + config.allowMessages = false; + config.allowReminders = false; + config.allowEvents = false; + config.areChannelsBypassingDnd = false; + config.allowCallsFrom = ZenModeConfig.SOURCE_ANYONE; + config.allowMessagesFrom = ZenModeConfig.SOURCE_ANYONE; + + config.suppressedVisualEffects = 0; + return config; + } + private ZenModeConfig getMutedAllConfig() { ZenModeConfig config = new ZenModeConfig(); // No sounds allowed |