diff --git a/src/com/android/settings/dashboard/conditional/DndCondition.java b/src/com/android/settings/dashboard/conditional/DndCondition.java index 3112d48e590..4acd332b379 100644 --- a/src/com/android/settings/dashboard/conditional/DndCondition.java +++ b/src/com/android/settings/dashboard/conditional/DndCondition.java @@ -42,9 +42,10 @@ public class DndCondition extends Condition { @VisibleForTesting static final IntentFilter DND_FILTER = new IntentFilter(NotificationManager.ACTION_INTERRUPTION_FILTER_CHANGED_INTERNAL); + @VisibleForTesting + protected ZenModeConfig mConfig; private int mZen; - private ZenModeConfig mConfig; private final Receiver mReceiver; public DndCondition(ConditionManager manager) { @@ -93,7 +94,7 @@ public class DndCondition extends Condition { @Override public CharSequence getSummary() { return ZenModeConfig.getDescription(mManager.getContext(), mZen != Global.ZEN_MODE_OFF, - mConfig); + mConfig, true); } @Override diff --git a/src/com/android/settings/notification/ZenModeSettings.java b/src/com/android/settings/notification/ZenModeSettings.java index 3d4258d2d21..1f0dcc28365 100644 --- a/src/com/android/settings/notification/ZenModeSettings.java +++ b/src/com/android/settings/notification/ZenModeSettings.java @@ -136,7 +136,7 @@ public class ZenModeSettings extends ZenModeSettingsBase { if (zenMode != Settings.Global.ZEN_MODE_OFF) { ZenModeConfig config = NotificationManager.from(mContext).getZenModeConfig(); - String description = ZenModeConfig.getDescription(mContext, true, config); + String description = ZenModeConfig.getDescription(mContext, true, config, false); if (description == null) { return mContext.getString(R.string.zen_mode_sound_summary_on); diff --git a/tests/robotests/src/com/android/settings/dashboard/conditional/DndConditionTest.java b/tests/robotests/src/com/android/settings/dashboard/conditional/DndConditionTest.java index d68a6755cb1..35940ce6720 100644 --- a/tests/robotests/src/com/android/settings/dashboard/conditional/DndConditionTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/conditional/DndConditionTest.java @@ -23,6 +23,8 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import static com.google.common.truth.Truth.assertThat; + import android.content.ComponentName; import android.content.Context; import android.content.pm.PackageManager; @@ -104,4 +106,13 @@ public class DndConditionTest { verify(mContext, never()).unregisterReceiver(any(DndCondition.Receiver.class)); } + + @Test + public void nullZenConfig_noCrash() { + DndCondition condition = new DndCondition(mConditionManager); + assertThat(condition.mConfig).isNull(); + + // should not crash, instead summary is null + assertThat(condition.getSummary()).isNull(); + } }