Merge "Fix a NPE when getting ZenMode in RingerMutedCondition." into pi-dev

am: 6b36c2e402

Change-Id: Ifad1dbe1fad852fa72ea005c2478cf77c651f79d
This commit is contained in:
Fan Zhang
2018-03-29 02:05:34 +00:00
committed by android-build-merger
2 changed files with 12 additions and 6 deletions

View File

@@ -16,6 +16,8 @@
package com.android.settings.dashboard.conditional; package com.android.settings.dashboard.conditional;
import static android.content.Context.NOTIFICATION_SERVICE;
import android.app.NotificationManager; import android.app.NotificationManager;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.media.AudioManager; import android.media.AudioManager;
@@ -30,14 +32,19 @@ public class RingerMutedCondition extends AbnormalRingerConditionBase {
RingerMutedCondition(ConditionManager manager) { RingerMutedCondition(ConditionManager manager) {
super(manager); super(manager);
mNotificationManager = mManager.getContext().getSystemService(NotificationManager.class); mNotificationManager =
(NotificationManager) mManager.getContext().getSystemService(NOTIFICATION_SERVICE);
} }
@Override @Override
public void refreshState() { public void refreshState() {
int zen = mNotificationManager.getZenMode(); int zen = Settings.Global.ZEN_MODE_OFF;
boolean zenModeEnabled = zen != Settings.Global.ZEN_MODE_OFF; if (mNotificationManager != null) {
boolean isSilent = mAudioManager.getRingerModeInternal() == AudioManager.RINGER_MODE_SILENT; zen = mNotificationManager.getZenMode();
}
final boolean zenModeEnabled = zen != Settings.Global.ZEN_MODE_OFF;
final boolean isSilent =
mAudioManager.getRingerModeInternal() == AudioManager.RINGER_MODE_SILENT;
setActive(isSilent && !zenModeEnabled); setActive(isSilent && !zenModeEnabled);
} }

View File

@@ -22,7 +22,6 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import android.app.NotificationManager;
import android.content.Context; import android.content.Context;
import android.media.AudioManager; import android.media.AudioManager;
import android.provider.Settings; import android.provider.Settings;
@@ -59,7 +58,7 @@ public class RingerMutedConditionTest {
mContext = RuntimeEnvironment.application; mContext = RuntimeEnvironment.application;
mAudioManager = Shadow.extract(mContext.getSystemService(Context.AUDIO_SERVICE)); mAudioManager = Shadow.extract(mContext.getSystemService(Context.AUDIO_SERVICE));
mNotificationManager = Shadow.extract( mNotificationManager = Shadow.extract(
mContext.getSystemService(NotificationManager.class)); mContext.getSystemService(Context.NOTIFICATION_SERVICE));
when(mConditionManager.getContext()).thenReturn(mContext); when(mConditionManager.getContext()).thenReturn(mContext);
mCondition = spy(new RingerMutedCondition(mConditionManager)); mCondition = spy(new RingerMutedCondition(mConditionManager));
} }