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")