Merge "Zen priority settings update" into oc-dr1-dev
am: 9dec71f7d7
Change-Id: I81e2609637537413bfd36ed9e0658d49d533a9cd
This commit is contained in:
@@ -7181,6 +7181,9 @@
|
||||
<!-- [CHAR LIMIT=50] Zen mode settings: Alarms option -->
|
||||
<string name="zen_mode_alarms">Alarms</string>
|
||||
|
||||
<!-- [CHAR LIMIT=50] Zen mode settings: Alarms option summary -->
|
||||
<string name="zen_mode_alarms_summary">Alarms are always a priority and make sound</string>
|
||||
|
||||
<!-- [CHAR LIMIT=50] Zen mode settings: Reminders option -->
|
||||
<string name="zen_mode_reminders">Reminders</string>
|
||||
|
||||
|
@@ -19,13 +19,6 @@
|
||||
android:key="zen_mode_priority_settings"
|
||||
android:title="@string/zen_mode_priority_settings_title" >
|
||||
|
||||
<!-- Alarms -->
|
||||
<SwitchPreference
|
||||
android:key="alarms"
|
||||
android:title="@string/zen_mode_alarms"
|
||||
android:enabled="false"
|
||||
android:defaultValue="true"/>
|
||||
|
||||
<!-- Reminders -->
|
||||
<SwitchPreference
|
||||
android:key="reminders"
|
||||
@@ -36,6 +29,14 @@
|
||||
android:key="events"
|
||||
android:title="@string/zen_mode_events"/>
|
||||
|
||||
<!-- Alarms -->
|
||||
<SwitchPreference
|
||||
android:key="alarms"
|
||||
android:title="@string/zen_mode_alarms"
|
||||
android:summary="@string/zen_mode_alarms_summary"
|
||||
android:enabled="false"
|
||||
android:defaultValue="true"/>
|
||||
|
||||
<!-- Messages -->
|
||||
<DropDownPreference
|
||||
android:key="messages"
|
||||
|
@@ -356,10 +356,10 @@ public class ZenModeSettings extends ZenModeSettingsBase {
|
||||
|
||||
String getPrioritySettingSummary(Policy policy) {
|
||||
String s = mContext.getString(R.string.zen_mode_alarms);
|
||||
s = append(s, isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_REMINDERS),
|
||||
s = prepend(s, isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_EVENTS),
|
||||
R.string.zen_mode_events);
|
||||
s = prepend(s, isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_REMINDERS),
|
||||
R.string.zen_mode_reminders);
|
||||
s = append(s, isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_EVENTS),
|
||||
R.string.zen_mode_events);
|
||||
if (isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_MESSAGES)) {
|
||||
if (policy.priorityMessageSenders == Policy.PRIORITY_SENDERS_ANY) {
|
||||
s = append(s, true, R.string.zen_mode_all_messages);
|
||||
@@ -424,6 +424,15 @@ public class ZenModeSettings extends ZenModeSettingsBase {
|
||||
return s;
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
String prepend(String s, boolean condition, int resId) {
|
||||
if (condition) {
|
||||
return mContext.getString(
|
||||
R.string.join_many_items_middle, mContext.getString(resId), s);
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
private boolean isCategoryEnabled(Policy policy, int categoryType) {
|
||||
return (policy.priorityCategories & categoryType) != 0;
|
||||
}
|
||||
|
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.settings.notification;
|
||||
|
||||
import android.app.NotificationManager;
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.settings.R;
|
||||
@@ -30,6 +31,8 @@ import org.robolectric.annotation.Config;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static junit.framework.Assert.assertTrue;
|
||||
|
||||
@RunWith(SettingsRobolectricTestRunner.class)
|
||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||
public class ZenModeSettingsTest {
|
||||
@@ -60,6 +63,38 @@ public class ZenModeSettingsTest {
|
||||
final String result = mBuilder.append(original, true, R.string.zen_mode_alarms);
|
||||
|
||||
assertThat(result).contains(alarm);
|
||||
assertThat(result).contains(original);
|
||||
assertTrue(result.indexOf(original) < result.indexOf(alarm));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testPrepend() {
|
||||
String original = mContext.getString(R.string.zen_mode_alarms);
|
||||
String reminders = mContext.getString(R.string.zen_mode_reminders);
|
||||
|
||||
final String result = mBuilder.prepend(original, true, R.string.zen_mode_reminders);
|
||||
assertThat(result).contains(original);
|
||||
assertThat(result).contains(reminders);
|
||||
assertTrue(result.indexOf(reminders) < result.indexOf(original));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetPrioritySettingSummary_sameOrderAsTargetPage() {
|
||||
NotificationManager.Policy policy = new NotificationManager.Policy(
|
||||
NotificationManager.Policy.PRIORITY_CATEGORY_EVENTS
|
||||
| NotificationManager.Policy.PRIORITY_CATEGORY_REMINDERS,
|
||||
0, 0);
|
||||
final String result = mBuilder.getPrioritySettingSummary(policy);
|
||||
|
||||
String alarms = mContext.getString(R.string.zen_mode_alarms);
|
||||
String reminders = mContext.getString(R.string.zen_mode_reminders);
|
||||
String events = mContext.getString(R.string.zen_mode_events);
|
||||
|
||||
assertThat(result).contains(alarms);
|
||||
assertThat(result).contains(reminders);
|
||||
assertThat(result).contains(events);
|
||||
assertTrue(result.indexOf(reminders) < result.indexOf(events) &&
|
||||
result.indexOf(events) < result.indexOf(alarms));
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user