Merge "Fix a NPE when getting ZenMode in RingerMutedCondition." into pi-dev
am: 6b36c2e402
Change-Id: Ifad1dbe1fad852fa72ea005c2478cf77c651f79d
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user