diff --git a/res/values/strings.xml b/res/values/strings.xml
index 28e1f05d584..311b56f81a3 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -7955,28 +7955,24 @@
Priority Modes
-
- Minimize distractions and take control of your attention with modes for sleep, work, driving, and everything in between.
-
- Create your own mode
+ Add a mode
Only get notified by important people and apps
- Set a schedule
-
-
- Schedule based on
+ Select activation type
- Day and time
+ Time
- \"9 AM - 5 PM weekdays\"
+ Ex. \"9:30 – 5:00 PM\"
- Calendar events
+ Calendar
+
+ Ex. \"Personal calendar\"
ON
@@ -7996,15 +7992,6 @@
Custom
-
- Turn on now
-
-
- Turn off
-
-
- Mode not found
-
Limit interruptions
@@ -8042,17 +8029,19 @@
Schedule
- When to turn on automatically
+ Turn on automatically
-
- Event schedule
-
- Turn on during events for
-
- Where invite reply is
+
+ Add a calendar
+
+
+ Use your calendar
+
+
+ Schedule
- Time schedule
+ Set a schedule
Schedule
@@ -8060,6 +8049,9 @@
%1$d hr, %2$d min
+
+ Turn on automatically
+
Schedule
@@ -8088,9 +8080,9 @@
Allow visual signals
- Notification filters
+ Stay focused
- More settings
+ Additional actions
@@ -8141,7 +8133,7 @@
}
- Limit what can notify you
+ Filter interruptions
No interruptions are filtered
@@ -9438,7 +9430,7 @@
Edit mode
- Create a mode
+ Add mode
Custom mode
@@ -9449,26 +9441,26 @@
Calendar events
- Bedtime routine
+ Sleep schedule
While driving
- App settings
+ Linked to app
Info and settings in %1$s
Managed by %1$s
-
- Disable %1$s?
+
+ Disable Mode
- This mode will never turn on when disabled
+ If you disable this feature, the mode will no longer work as intended and its settings will be hidden.
Disable
-
- Enable %1$s?
+
+ Enable Mode
- This mode may turn on automatically based on its settings
+ If you enable this feature, the mode will activate automatically according to its schedule.
Enable
diff --git a/res/xml/modes_calls_settings.xml b/res/xml/modes_calls_settings.xml
index b564020cf71..f2ba7f13867 100644
--- a/res/xml/modes_calls_settings.xml
+++ b/res/xml/modes_calls_settings.xml
@@ -24,21 +24,14 @@
+ android:title="@string/zen_mode_calls_header"
+ settings:allowDividerBelow="true">
-
-
+ android:title="@string/zen_mode_repeat_callers_title"
+ settings:allowDividerAbove="true"/>
-
diff --git a/res/xml/modes_list_settings.xml b/res/xml/modes_list_settings.xml
index 5c672187205..8207af0f7e8 100644
--- a/res/xml/modes_list_settings.xml
+++ b/res/xml/modes_list_settings.xml
@@ -20,12 +20,11 @@
xmlns:settings="http://schemas.android.com/apk/res-auto"
android:title="@string/zen_modes_list_title">
-
+
-
+
-
-
diff --git a/res/xml/modes_people_settings.xml b/res/xml/modes_people_settings.xml
index af292ad46ff..d58b2d7e355 100644
--- a/res/xml/modes_people_settings.xml
+++ b/res/xml/modes_people_settings.xml
@@ -17,7 +17,6 @@
@@ -35,10 +34,4 @@
android:title="@string/zen_mode_calls_title"
android:icon="@drawable/ic_zen_mode_people_calls" />
-
-
diff --git a/res/xml/modes_set_calendar.xml b/res/xml/modes_set_calendar.xml
index be094f21f39..02eb26e33af 100644
--- a/res/xml/modes_set_calendar.xml
+++ b/res/xml/modes_set_calendar.xml
@@ -23,18 +23,20 @@
android:title="@string/zen_mode_set_calendar_title">
+ android:key="zen_mode_event_category"
+ android:title="@string/zen_mode_set_calendar_category_title">
+
diff --git a/src/com/android/settings/notification/modes/ZenModeButtonPreferenceController.java b/src/com/android/settings/notification/modes/ZenModeButtonPreferenceController.java
index bb9d23cd558..998b596e321 100644
--- a/src/com/android/settings/notification/modes/ZenModeButtonPreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeButtonPreferenceController.java
@@ -84,9 +84,9 @@ class ZenModeButtonPreferenceController extends AbstractZenModePreferenceControl
}
});
if (zenMode.isActive()) {
- mZenButton.setText(R.string.zen_mode_action_deactivate);
+ mZenButton.setText(R.string.zen_mode_button_turn_off);
} else {
- mZenButton.setText(R.string.zen_mode_action_activate);
+ mZenButton.setText(R.string.zen_mode_button_turn_on);
}
}
}
diff --git a/src/com/android/settings/notification/modes/ZenModeFragmentBase.java b/src/com/android/settings/notification/modes/ZenModeFragmentBase.java
index ed3a71c78c7..c63b3a8c10b 100644
--- a/src/com/android/settings/notification/modes/ZenModeFragmentBase.java
+++ b/src/com/android/settings/notification/modes/ZenModeFragmentBase.java
@@ -131,7 +131,7 @@ abstract class ZenModeFragmentBase extends ZenModesFragmentBase {
}
private void toastAndFinish() {
- Toast.makeText(mContext, R.string.zen_mode_not_found_text, Toast.LENGTH_SHORT)
+ Toast.makeText(mContext, R.string.zen_mode_rule_not_found_text, Toast.LENGTH_SHORT)
.show();
this.finish();
}
diff --git a/src/com/android/settings/notification/modes/ZenModeScheduleChooserDialog.java b/src/com/android/settings/notification/modes/ZenModeScheduleChooserDialog.java
index 6202648fcf9..14264b7a844 100644
--- a/src/com/android/settings/notification/modes/ZenModeScheduleChooserDialog.java
+++ b/src/com/android/settings/notification/modes/ZenModeScheduleChooserDialog.java
@@ -50,16 +50,15 @@ public class ZenModeScheduleChooserDialog extends InstrumentedDialogFragment {
static final int OPTION_TIME = 0;
static final int OPTION_CALENDAR = 1;
- private record ScheduleOption(@StringRes int nameResId,
- @Nullable @StringRes Integer exampleResId,
- @DrawableRes int iconResId) { }
+ private record ScheduleOption(@StringRes int nameResId, @StringRes int exampleResId,
+ @DrawableRes int iconResId) {}
private static final ImmutableList SCHEDULE_OPTIONS = ImmutableList.of(
new ScheduleOption(R.string.zen_mode_select_schedule_time,
R.string.zen_mode_select_schedule_time_example,
com.android.internal.R.drawable.ic_zen_mode_type_schedule_time),
new ScheduleOption(R.string.zen_mode_select_schedule_calendar,
- null,
+ R.string.zen_mode_select_schedule_calendar_example,
com.android.internal.R.drawable.ic_zen_mode_type_schedule_calendar));
private OnScheduleOptionListener mOptionListener;
@@ -86,7 +85,7 @@ public class ZenModeScheduleChooserDialog extends InstrumentedDialogFragment {
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
checkState(getContext() != null);
return new AlertDialog.Builder(getContext())
- .setTitle(R.string.zen_mode_select_schedule_title)
+ .setTitle(R.string.zen_mode_choose_rule_type)
.setAdapter(new OptionsAdapter(getContext()),
(dialog, which) -> onScheduleTypeSelected(which))
.setNegativeButton(R.string.cancel, null)
@@ -116,12 +115,7 @@ public class ZenModeScheduleChooserDialog extends InstrumentedDialogFragment {
ScheduleOption option = checkNotNull(getItem(position));
imageView.setImageResource(option.iconResId());
title.setText(option.nameResId());
- if (option.exampleResId() != null) {
- subtitle.setVisibility(View.VISIBLE);
- subtitle.setText(option.exampleResId());
- } else {
- subtitle.setVisibility(View.GONE);
- }
+ subtitle.setText(option.exampleResId());
return convertView;
}
diff --git a/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceController.java b/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceController.java
index 885c4db1fa1..3ee6d9443e4 100644
--- a/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceController.java
@@ -53,8 +53,6 @@ class ZenModeTriggerUpdatePreferenceController extends AbstractZenModePreference
private final ConfigurationActivityHelper mConfigurationActivityHelper;
private final ZenServiceListing mServiceListing;
- private String mModeName;
-
ZenModeTriggerUpdatePreferenceController(Context context, String key,
ZenModesBackend backend) {
this(context, key, backend, context.getPackageManager(),
@@ -84,7 +82,6 @@ class ZenModeTriggerUpdatePreferenceController extends AbstractZenModePreference
return;
}
- mModeName = zenMode.getName();
PrimarySwitchPreference triggerPref = (PrimarySwitchPreference) preference;
triggerPref.setChecked(zenMode.getRule().isEnabled());
triggerPref.setOnPreferenceChangeListener(mSwitchChangeListener);
@@ -192,15 +189,15 @@ class ZenModeTriggerUpdatePreferenceController extends AbstractZenModePreference
};
private void confirmChangeEnabled(Preference preference, boolean enabled) {
- @StringRes int titleFormat = enabled ? R.string.zen_mode_confirm_enable_mode_title
- : R.string.zen_mode_confirm_disable_mode_title;
+ @StringRes int title = enabled ? R.string.zen_mode_confirm_enable_title
+ : R.string.zen_mode_confirm_disable_title;
@StringRes int message = enabled ? R.string.zen_mode_confirm_enable_message
: R.string.zen_mode_confirm_disable_message;
@StringRes int confirmButton = enabled ? R.string.zen_mode_action_enable
: R.string.zen_mode_action_disable;
new AlertDialog.Builder(mContext)
- .setTitle(mContext.getString(titleFormat, mModeName))
+ .setTitle(title)
.setMessage(message)
.setPositiveButton(confirmButton,
(dialog, which) -> setModeEnabled(enabled))
diff --git a/tests/robotests/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceControllerTest.java
index 80d314c3dc0..a3fe57e02f5 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceControllerTest.java
@@ -47,7 +47,6 @@ import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.service.notification.SystemZenRules;
import android.service.notification.ZenModeConfig;
-import android.widget.TextView;
import androidx.preference.PreferenceManager;
import androidx.preference.PreferenceScreen;
@@ -175,21 +174,18 @@ public class ZenModeTriggerUpdatePreferenceControllerTest {
@Test
public void onPreferenceChange_toggleOn_enablesModeAfterConfirmation() {
// Start with a disabled mode
- ZenMode zenMode = new TestModeBuilder().setName("The mode").setEnabled(false).build();
+ ZenMode zenMode = new TestModeBuilder().setEnabled(false).build();
mController.updateZenMode(mPreference, zenMode);
// Flip the switch
mPreference.callChangeListener(true);
verify(mBackend, never()).updateMode(any());
- AlertDialog confirmDialog = ShadowAlertDialog.getLatestAlertDialog();
- assertThat(confirmDialog).isNotNull();
- assertThat(confirmDialog.isShowing()).isTrue();
- assertThat(((TextView) confirmDialog.findViewById(com.android.internal.R.id.alertTitle))
- .getText()).isEqualTo("Enable The mode?");
-
// Oh wait, I forgot to confirm! Let's do that
- confirmDialog.getButton(AlertDialog.BUTTON_POSITIVE).performClick();
+ assertThat(ShadowAlertDialog.getLatestAlertDialog()).isNotNull();
+ assertThat(ShadowAlertDialog.getLatestAlertDialog().isShowing()).isTrue();
+ ShadowAlertDialog.getLatestAlertDialog()
+ .getButton(AlertDialog.BUTTON_POSITIVE).performClick();
shadowOf(Looper.getMainLooper()).idle();
// Verify the backend got asked to update the mode to be enabled
@@ -202,21 +198,18 @@ public class ZenModeTriggerUpdatePreferenceControllerTest {
@Test
public void onPreferenceChange_toggleOff_disablesModeAfterConfirmation() {
// Start with an enabled mode
- ZenMode zenMode = new TestModeBuilder().setName("The mode").setEnabled(true).build();
+ ZenMode zenMode = new TestModeBuilder().setEnabled(true).build();
mController.updateZenMode(mPreference, zenMode);
// Flip the switch
mPreference.callChangeListener(false);
verify(mBackend, never()).updateMode(any());
- AlertDialog confirmDialog = ShadowAlertDialog.getLatestAlertDialog();
- assertThat(confirmDialog).isNotNull();
- assertThat(confirmDialog.isShowing()).isTrue();
- assertThat(((TextView) confirmDialog.findViewById(com.android.internal.R.id.alertTitle))
- .getText()).isEqualTo("Disable The mode?");
-
// Oh wait, I forgot to confirm! Let's do that
- confirmDialog.getButton(AlertDialog.BUTTON_POSITIVE).performClick();
+ assertThat(ShadowAlertDialog.getLatestAlertDialog()).isNotNull();
+ assertThat(ShadowAlertDialog.getLatestAlertDialog().isShowing()).isTrue();
+ ShadowAlertDialog.getLatestAlertDialog()
+ .getButton(AlertDialog.BUTTON_POSITIVE).performClick();
shadowOf(Looper.getMainLooper()).idle();
// Verify the backend got asked to update the mode to be disabled
@@ -321,7 +314,7 @@ public class ZenModeTriggerUpdatePreferenceControllerTest {
mController.updateState(mPreference, mode);
assertThat(mPreference.isVisible()).isTrue();
- assertThat(mPreference.getTitle()).isEqualTo("App settings");
+ assertThat(mPreference.getTitle()).isEqualTo("Linked to app");
assertThat(mPreference.getSummary()).isEqualTo("When The Music's Over");
assertThat(mPreference.getIntent()).isEqualTo(configurationIntent);
}
@@ -338,7 +331,7 @@ public class ZenModeTriggerUpdatePreferenceControllerTest {
mController.updateState(mPreference, mode);
assertThat(mPreference.isVisible()).isTrue();
- assertThat(mPreference.getTitle()).isEqualTo("App settings");
+ assertThat(mPreference.getTitle()).isEqualTo("Linked to app");
assertThat(mPreference.getSummary()).isEqualTo("When the saints go marching in");
assertThat(mPreference.getIntent()).isNull();
}
@@ -356,7 +349,7 @@ public class ZenModeTriggerUpdatePreferenceControllerTest {
mController.updateState(mPreference, mode);
assertThat(mPreference.isVisible()).isTrue();
- assertThat(mPreference.getTitle()).isEqualTo("App settings");
+ assertThat(mPreference.getTitle()).isEqualTo("Linked to app");
assertThat(mPreference.getSummary()).isEqualTo("Info and settings in The App Name");
}
@@ -372,7 +365,7 @@ public class ZenModeTriggerUpdatePreferenceControllerTest {
mController.updateState(mPreference, mode);
assertThat(mPreference.isVisible()).isTrue();
- assertThat(mPreference.getTitle()).isEqualTo("App settings");
+ assertThat(mPreference.getTitle()).isEqualTo("Linked to app");
assertThat(mPreference.getSummary()).isEqualTo("Managed by The App Name");
}
}