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

This commit is contained in:
TreeHugger Robot
2018-03-29 01:23:41 +00:00
committed by Android (Google) Code Review
2 changed files with 12 additions and 6 deletions

View File

@@ -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);
}

View File

@@ -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));
}