diff --git a/res/values/strings.xml b/res/values/strings.xml
index 0bb3f4a7ff1..1602c02b29e 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -7662,7 +7662,7 @@
Override Do Not Disturb
- Let these notifications continue to interrupt when Do Not Disturb is set to Priority Only
+ Let these notifications continue to interrupt when Do Not Disturb is on
On lock screen
diff --git a/src/com/android/settings/notification/DndPreferenceController.java b/src/com/android/settings/notification/DndPreferenceController.java
index af60401754d..d4c7a101d22 100644
--- a/src/com/android/settings/notification/DndPreferenceController.java
+++ b/src/com/android/settings/notification/DndPreferenceController.java
@@ -29,10 +29,9 @@ import com.android.settingslib.core.lifecycle.events.OnResume;
public class DndPreferenceController extends NotificationPreferenceController
implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener,
- LifecycleObserver, OnResume {
+ LifecycleObserver {
private static final String KEY_BYPASS_DND = "bypass_dnd";
- private boolean mVisualEffectsSuppressed;
public DndPreferenceController(Context context, Lifecycle lifecycle,
NotificationBackend backend) {
@@ -42,12 +41,6 @@ public class DndPreferenceController extends NotificationPreferenceController
}
}
- @Override
- public void onResume() {
- NotificationManager.Policy policy = mNm.getNotificationPolicy();
- mVisualEffectsSuppressed = policy != null && policy.suppressedVisualEffects != 0;
- }
-
@Override
public String getPreferenceKey() {
return KEY_BYPASS_DND;
@@ -55,12 +48,10 @@ public class DndPreferenceController extends NotificationPreferenceController
@Override
public boolean isAvailable() {
- if (!super.isAvailable()) {
+ if (!super.isAvailable() || mChannel == null) {
return false;
}
- return checkCanBeVisible(NotificationManager.IMPORTANCE_DEFAULT)
- || (checkCanBeVisible(NotificationManager.IMPORTANCE_LOW)
- && mVisualEffectsSuppressed);
+ return true;
}
public void updateState(Preference preference) {
@@ -82,5 +73,4 @@ public class DndPreferenceController extends NotificationPreferenceController
}
return true;
}
-
}
diff --git a/tests/robotests/src/com/android/settings/notification/DndPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/DndPreferenceControllerTest.java
index 453a2c809e1..54dda6af881 100644
--- a/tests/robotests/src/com/android/settings/notification/DndPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/DndPreferenceControllerTest.java
@@ -80,50 +80,19 @@ public class DndPreferenceControllerTest {
}
@Test
- public void testNoCrashIfNoOnResume() {
- mController.isAvailable();
- mController.updateState(mock(RestrictedSwitchPreference.class));
- mController.onPreferenceChange(mock(RestrictedSwitchPreference.class), true);
- mController.onResume();
- }
-
- @Test
- public void testIsAvailable_notIfNotImportant_noVisEffects() {
+ public void testIsAvailable_app() {
when(mNm.getNotificationPolicy()).thenReturn(new NotificationManager.Policy(0, 0, 0, 0));
NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
- NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_LOW);
- mController.onResume();
- mController.onResume(appRow, channel, null, null);
+ mController.onResume(appRow, null, null, null);
assertFalse(mController.isAvailable());
}
@Test
- public void testIsAvailable_notIfNotImportant_visEffects() {
+ public void testIsAvailable_channel() {
when(mNm.getNotificationPolicy()).thenReturn(new NotificationManager.Policy(0, 0, 0, 1));
NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
- NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_MIN);
- mController.onResume();
- mController.onResume(appRow, channel, null, null);
- assertFalse(mController.isAvailable());
- }
-
- @Test
- public void testIsAvailable_importance_noVisEffects() {
- when(mNm.getNotificationPolicy()).thenReturn(new NotificationManager.Policy(0, 0, 0, 0));
- NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
- NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_DEFAULT);
- mController.onResume();
- mController.onResume(appRow, channel, null, null);
- assertTrue(mController.isAvailable());
- }
-
- @Test
- public void testIsAvailable_important_visEffects() {
- when(mNm.getNotificationPolicy()).thenReturn(new NotificationManager.Policy(0, 0, 0, 1));
- assertTrue(mNm.getNotificationPolicy().suppressedVisualEffects != 0);
- NotificationBackend.AppRow appRow = new NotificationBackend.AppRow();
- NotificationChannel channel = new NotificationChannel("", "", IMPORTANCE_LOW);
- mController.onResume();
+ NotificationChannel channel =
+ new NotificationChannel(DEFAULT_CHANNEL_ID, "", IMPORTANCE_MIN);
mController.onResume(appRow, channel, null, null);
assertTrue(mController.isAvailable());
}