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 -->
|
<!-- [CHAR LIMIT=50] Zen mode settings: Alarms option -->
|
||||||
<string name="zen_mode_alarms">Alarms</string>
|
<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 -->
|
<!-- [CHAR LIMIT=50] Zen mode settings: Reminders option -->
|
||||||
<string name="zen_mode_reminders">Reminders</string>
|
<string name="zen_mode_reminders">Reminders</string>
|
||||||
|
|
||||||
|
@@ -19,13 +19,6 @@
|
|||||||
android:key="zen_mode_priority_settings"
|
android:key="zen_mode_priority_settings"
|
||||||
android:title="@string/zen_mode_priority_settings_title" >
|
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 -->
|
<!-- Reminders -->
|
||||||
<SwitchPreference
|
<SwitchPreference
|
||||||
android:key="reminders"
|
android:key="reminders"
|
||||||
@@ -36,6 +29,14 @@
|
|||||||
android:key="events"
|
android:key="events"
|
||||||
android:title="@string/zen_mode_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 -->
|
<!-- Messages -->
|
||||||
<DropDownPreference
|
<DropDownPreference
|
||||||
android:key="messages"
|
android:key="messages"
|
||||||
|
@@ -356,10 +356,10 @@ public class ZenModeSettings extends ZenModeSettingsBase {
|
|||||||
|
|
||||||
String getPrioritySettingSummary(Policy policy) {
|
String getPrioritySettingSummary(Policy policy) {
|
||||||
String s = mContext.getString(R.string.zen_mode_alarms);
|
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);
|
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 (isCategoryEnabled(policy, Policy.PRIORITY_CATEGORY_MESSAGES)) {
|
||||||
if (policy.priorityMessageSenders == Policy.PRIORITY_SENDERS_ANY) {
|
if (policy.priorityMessageSenders == Policy.PRIORITY_SENDERS_ANY) {
|
||||||
s = append(s, true, R.string.zen_mode_all_messages);
|
s = append(s, true, R.string.zen_mode_all_messages);
|
||||||
@@ -424,6 +424,15 @@ public class ZenModeSettings extends ZenModeSettingsBase {
|
|||||||
return s;
|
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) {
|
private boolean isCategoryEnabled(Policy policy, int categoryType) {
|
||||||
return (policy.priorityCategories & categoryType) != 0;
|
return (policy.priorityCategories & categoryType) != 0;
|
||||||
}
|
}
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package com.android.settings.notification;
|
package com.android.settings.notification;
|
||||||
|
|
||||||
|
import android.app.NotificationManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
import com.android.settings.R;
|
import com.android.settings.R;
|
||||||
@@ -30,6 +31,8 @@ import org.robolectric.annotation.Config;
|
|||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
|
import static junit.framework.Assert.assertTrue;
|
||||||
|
|
||||||
@RunWith(SettingsRobolectricTestRunner.class)
|
@RunWith(SettingsRobolectricTestRunner.class)
|
||||||
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
|
||||||
public class ZenModeSettingsTest {
|
public class ZenModeSettingsTest {
|
||||||
@@ -60,6 +63,38 @@ public class ZenModeSettingsTest {
|
|||||||
final String result = mBuilder.append(original, true, R.string.zen_mode_alarms);
|
final String result = mBuilder.append(original, true, R.string.zen_mode_alarms);
|
||||||
|
|
||||||
assertThat(result).contains(alarm);
|
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