Merge changes from topic "dnd_touch_sounds" into pi-dev
am: e9fbcd7114
Change-Id: Ie536a0126a05b379d06caceb54681f4757077c7b
This commit is contained in:
@@ -6999,6 +6999,11 @@
|
||||
<!-- Do not disturb: what to block summary, all effects -->
|
||||
<string name="zen_mode_block_effect_summary_all">Sound, vibration, and visual signs of notifications</string>
|
||||
|
||||
<!-- Do not disturb: Zen mode no sounds are exceptions to bypass do not disturb-->
|
||||
<string name="zen_mode_no_exceptions">None</string>
|
||||
<!-- Do not disturb: Zen mode catch all "other" sounds can bypass do not disturb -->
|
||||
<string name="zen_mode_other_options">other options</string>
|
||||
|
||||
<!-- Do not disturb: Button to add new automatic rule to DND. [CHAR LIMIT=30] -->
|
||||
<string name="zen_mode_add">Add</string>
|
||||
|
||||
@@ -7592,8 +7597,8 @@
|
||||
<!-- [CHAR LIMIT=50] Zen mode settings: Media option -->
|
||||
<string name="zen_mode_media">Media</string>
|
||||
|
||||
<!-- [CHAR LIMIT=50] Zen mode settings: System option which includes sounds such as touch and charging sounds -->
|
||||
<string name="zen_mode_system">Touch and charging sounds</string>
|
||||
<!-- [CHAR LIMIT=50] Zen mode settings: System option which includes sounds such as touch sounds -->
|
||||
<string name="zen_mode_system">Touch sounds</string>
|
||||
|
||||
<!-- [CHAR LIMIT=50] Zen mode settings: Reminders option -->
|
||||
<string name="zen_mode_reminders">Reminders</string>
|
||||
|
@@ -94,31 +94,29 @@ public class ZenModeSettings extends ZenModeSettingsBase {
|
||||
};
|
||||
|
||||
String getBehaviorSettingSummary(Policy policy, int zenMode) {
|
||||
List<String> enabledCategories;
|
||||
List<String> enabledCategories = getEnabledCategories(policy);
|
||||
|
||||
if (zenMode == Settings.Global.ZEN_MODE_NO_INTERRUPTIONS) {
|
||||
return mContext.getString(R.string.zen_mode_behavior_total_silence);
|
||||
} else if (zenMode == Settings.Global.ZEN_MODE_ALARMS) {
|
||||
return mContext.getString(R.string.zen_mode_behavior_alarms_only);
|
||||
} else {
|
||||
enabledCategories = getEnabledCategories(policy);
|
||||
}
|
||||
|
||||
// no sound categories can bypass dnd
|
||||
int numCategories = enabledCategories.size();
|
||||
if (numCategories == 0) {
|
||||
return mContext.getString(R.string.zen_mode_behavior_total_silence);
|
||||
return mContext.getString(R.string.zen_mode_no_exceptions);
|
||||
} else if (numCategories == 1) {
|
||||
return enabledCategories.get(0);
|
||||
} else if (numCategories == 2) {
|
||||
return mContext.getString(R.string.join_two_items, enabledCategories.get(0),
|
||||
enabledCategories.get(1).toLowerCase());
|
||||
} else if (numCategories == 3){
|
||||
String secondaryText = mContext.getString(R.string.join_two_unrelated_items,
|
||||
enabledCategories.get(0), enabledCategories.get(1).toLowerCase());
|
||||
return mContext.getString(R.string.join_two_items, secondaryText,
|
||||
enabledCategories.get(2).toLowerCase());
|
||||
} else {
|
||||
String secondaryText = mContext.getString(R.string.join_many_items_middle,
|
||||
enabledCategories.get(0), enabledCategories.get(1).toLowerCase());
|
||||
secondaryText = mContext.getString(R.string.join_many_items_middle, secondaryText,
|
||||
enabledCategories.get(2).toLowerCase());
|
||||
return mContext.getString(R.string.join_many_items_last, secondaryText,
|
||||
mContext.getString(R.string.zen_mode_other_options));
|
||||
}
|
||||
|
||||
// only alarms and media can bypass dnd
|
||||
if (numCategories == 2 &&
|
||||
isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_ALARMS) &&
|
||||
isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_MEDIA)) {
|
||||
return mContext.getString(R.string.zen_mode_behavior_alarms_only);
|
||||
}
|
||||
|
||||
// custom
|
||||
return mContext.getString(R.string.zen_mode_behavior_summary_custom);
|
||||
}
|
||||
|
||||
String getSoundSummary() {
|
||||
|
@@ -47,27 +47,12 @@ public class ZenModeSettingsTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetBehaviorSettingSummary_customBehavior() {
|
||||
NotificationManager.Policy policy = new NotificationManager.Policy(
|
||||
NotificationManager.Policy.PRIORITY_CATEGORY_EVENTS
|
||||
| NotificationManager.Policy.PRIORITY_CATEGORY_REMINDERS
|
||||
| NotificationManager.Policy.PRIORITY_CATEGORY_ALARMS
|
||||
| NotificationManager.Policy.PRIORITY_CATEGORY_MEDIA,
|
||||
0, 0);
|
||||
final String result = mBuilder.getBehaviorSettingSummary(policy,
|
||||
Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS);
|
||||
|
||||
String custom = mContext.getString(R.string.zen_mode_behavior_summary_custom);
|
||||
assertEquals(custom, result);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetBehaviorSettingSummary_totalSilence() {
|
||||
public void testGetBehaviorSettingSummary_noSoundsCanBypass() {
|
||||
NotificationManager.Policy policy = new NotificationManager.Policy(0, 0, 0);
|
||||
final String result = mBuilder.getBehaviorSettingSummary(policy,
|
||||
Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS);
|
||||
|
||||
String totalSilence = mContext.getString(R.string.zen_mode_behavior_total_silence);
|
||||
String totalSilence = mContext.getString(R.string.zen_mode_no_exceptions);
|
||||
assertEquals(totalSilence, result);
|
||||
}
|
||||
|
||||
@@ -80,7 +65,9 @@ public class ZenModeSettingsTest {
|
||||
final String result = mBuilder.getBehaviorSettingSummary(policy,
|
||||
Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS);
|
||||
|
||||
String alarmsAndMedia = mContext.getString(R.string.zen_mode_behavior_alarms_only);
|
||||
String alarmsAndMedia = mContext.getString(R.string.join_two_items,
|
||||
mContext.getString(R.string.zen_mode_alarms),
|
||||
mContext.getString(R.string.zen_mode_media).toLowerCase());
|
||||
assertEquals(alarmsAndMedia, result);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user