diff --git a/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceController.java b/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceController.java index 13d5c6e9904..bbed5b960c8 100644 --- a/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceController.java +++ b/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceController.java @@ -109,9 +109,11 @@ class ZenModeTriggerUpdatePreferenceController extends AbstractZenModePreference 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 d916dcfb068..7f4f2118f1a 100644 --- a/tests/robotests/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/notification/modes/ZenModeTriggerUpdatePreferenceControllerTest.java @@ -309,6 +309,25 @@ public class ZenModeTriggerUpdatePreferenceControllerTest { .isEqualTo(ZenModeSetScheduleFragment.class.getName()); } + @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()