Merge cherrypicks of ['googleplex-android-review.googlesource.com/31216799'] into 25Q1-release.
Change-Id: Ibc22d2bde93ba0a6c2cb92da3b175e90e9bd3ab4
diff --git a/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceController.java b/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceController.java
index 13d5c6e..bbed5b9 100644
--- a/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceController.java
+++ b/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceController.java
@@ -109,9 +109,11 @@
tryParseScheduleConditionId(mode.getRule().getConditionId());
if (schedule != null) {
preference.setTitle(SystemZenRules.getTimeSummary(mContext, schedule));
- preference.setSummary(Utils.createAccessibleSequence(
- SystemZenRules.getDaysOfWeekShort(mContext, schedule),
- SystemZenRules.getDaysOfWeekFull(mContext, schedule)));
+ String shortDaysSummary = SystemZenRules.getDaysOfWeekShort(mContext, schedule);
+ String fullDaysSummary = SystemZenRules.getDaysOfWeekFull(mContext, schedule);
+ preference.setSummary(shortDaysSummary != null && fullDaysSummary != null
+ ? Utils.createAccessibleSequence(shortDaysSummary, fullDaysSummary)
+ : shortDaysSummary);
} else {
// Fallback, but shouldn't happen.
Log.wtf(TAG, "SCHEDULE_TIME mode without schedule: " + mode);
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 d916dcf..7f4f211 100644
--- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceControllerTest.java
@@ -310,6 +310,25 @@
}
@Test
+ public void updateState_scheduleTimeRuleWithNoDays_emptySummary() {
+ ZenModeConfig.ScheduleInfo scheduleInfo = new ZenModeConfig.ScheduleInfo();
+ scheduleInfo.days = new int[] {};
+ scheduleInfo.startHour = 1;
+ scheduleInfo.endHour = 15;
+ ZenMode mode = new TestModeBuilder()
+ .setConditionId(ZenModeConfig.toScheduleConditionId(scheduleInfo))
+ .setPackage(SystemZenRules.PACKAGE_ANDROID)
+ .setType(TYPE_SCHEDULE_TIME)
+ .setTriggerDescription("some schedule")
+ .build();
+
+ mController.updateState(mPreference, mode);
+
+ assertThat(mPreference.getTitle()).isEqualTo("1:00 AM - 3:00 PM");
+ assertThat(mPreference.getSummary()).isNull();
+ }
+
+ @Test
public void updateState_appWithConfigActivity_showsLinkToConfigActivity() {
ZenMode mode = new TestModeBuilder()
.setPackage("some.package")