diff --git a/src/com/android/settings/dashboard/conditional/RingerMutedCondition.java b/src/com/android/settings/dashboard/conditional/RingerMutedCondition.java index bdd92e2d239..bf5bc3618d4 100644 --- a/src/com/android/settings/dashboard/conditional/RingerMutedCondition.java +++ b/src/com/android/settings/dashboard/conditional/RingerMutedCondition.java @@ -16,6 +16,8 @@ package com.android.settings.dashboard.conditional; +import static android.content.Context.NOTIFICATION_SERVICE; + import android.app.NotificationManager; import android.graphics.drawable.Drawable; import android.media.AudioManager; @@ -30,14 +32,19 @@ public class RingerMutedCondition extends AbnormalRingerConditionBase { RingerMutedCondition(ConditionManager manager) { super(manager); - mNotificationManager = mManager.getContext().getSystemService(NotificationManager.class); + mNotificationManager = + (NotificationManager) mManager.getContext().getSystemService(NOTIFICATION_SERVICE); } @Override public void refreshState() { - int zen = mNotificationManager.getZenMode(); - boolean zenModeEnabled = zen != Settings.Global.ZEN_MODE_OFF; - boolean isSilent = mAudioManager.getRingerModeInternal() == AudioManager.RINGER_MODE_SILENT; + int zen = Settings.Global.ZEN_MODE_OFF; + if (mNotificationManager != null) { + zen = mNotificationManager.getZenMode(); + } + final boolean zenModeEnabled = zen != Settings.Global.ZEN_MODE_OFF; + final boolean isSilent = + mAudioManager.getRingerModeInternal() == AudioManager.RINGER_MODE_SILENT; setActive(isSilent && !zenModeEnabled); } diff --git a/tests/robotests/src/com/android/settings/dashboard/conditional/RingerMutedConditionTest.java b/tests/robotests/src/com/android/settings/dashboard/conditional/RingerMutedConditionTest.java index 13cb1c23408..66ef5a039b3 100644 --- a/tests/robotests/src/com/android/settings/dashboard/conditional/RingerMutedConditionTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/conditional/RingerMutedConditionTest.java @@ -22,7 +22,6 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import android.app.NotificationManager; import android.content.Context; import android.media.AudioManager; import android.provider.Settings; @@ -59,7 +58,7 @@ public class RingerMutedConditionTest { mContext = RuntimeEnvironment.application; mAudioManager = Shadow.extract(mContext.getSystemService(Context.AUDIO_SERVICE)); mNotificationManager = Shadow.extract( - mContext.getSystemService(NotificationManager.class)); + mContext.getSystemService(Context.NOTIFICATION_SERVICE)); when(mConditionManager.getContext()).thenReturn(mContext); mCondition = spy(new RingerMutedCondition(mConditionManager)); }