diff --git a/res/xml/configure_notification_settings.xml b/res/xml/configure_notification_settings.xml
index 5447c9c0d94..598b1100fd6 100644
--- a/res/xml/configure_notification_settings.xml
+++ b/res/xml/configure_notification_settings.xml
@@ -48,6 +48,13 @@
android:title="@string/fingerprint_swipe_for_notifications_title"
android:fragment="com.android.settings.gestures.SwipeToNotificationSettings" />
+
+
controllers = new ArrayList<>();
- controllers.add(new ZenModePreferenceController(context, lifecycle));
+ controllers.add(new ZenModePreferenceController(context, lifecycle, KEY_ZEN_MODE));
controllers.add(new VibrateWhenRingPreferenceController(context));
// === Volumes ===
@@ -265,7 +266,8 @@ public class SoundSettings extends DashboardFragment {
public List getNonIndexableKeys(Context context) {
List keys = super.getNonIndexableKeys(context);
// Duplicate results
- keys.add((new ZenModePreferenceController(context, null)).getPreferenceKey());
+ keys.add((new ZenModePreferenceController(context, null, KEY_ZEN_MODE))
+ .getPreferenceKey());
return keys;
}
};
diff --git a/src/com/android/settings/notification/ZenModePreferenceController.java b/src/com/android/settings/notification/ZenModePreferenceController.java
index aafda11b82f..5b590001a77 100644
--- a/src/com/android/settings/notification/ZenModePreferenceController.java
+++ b/src/com/android/settings/notification/ZenModePreferenceController.java
@@ -35,23 +35,24 @@ import com.android.settingslib.core.lifecycle.events.OnResume;
public class ZenModePreferenceController extends AdjustVolumeRestrictedPreferenceController
implements LifecycleObserver, OnResume, OnPause {
- private static final String KEY_ZEN_MODE = "zen_mode";
+ private final String mKey;
private SettingObserver mSettingObserver;
private ZenModeSettings.SummaryBuilder mSummaryBuilder;
- public ZenModePreferenceController(Context context, Lifecycle lifecycle) {
+ public ZenModePreferenceController(Context context, Lifecycle lifecycle, String key) {
super(context);
mSummaryBuilder = new ZenModeSettings.SummaryBuilder(context);
if (lifecycle != null) {
lifecycle.addObserver(this);
}
+ mKey = key;
}
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
- mSettingObserver = new SettingObserver(screen.findPreference(KEY_ZEN_MODE));
+ mSettingObserver = new SettingObserver(screen.findPreference(mKey));
}
@Override
@@ -70,7 +71,7 @@ public class ZenModePreferenceController extends AdjustVolumeRestrictedPreferenc
@Override
public String getPreferenceKey() {
- return KEY_ZEN_MODE;
+ return mKey;
}
@Override
diff --git a/tests/robotests/src/com/android/settings/notification/ZenModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ZenModePreferenceControllerTest.java
index bcf1cd48a76..437f4d1201c 100644
--- a/tests/robotests/src/com/android/settings/notification/ZenModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/ZenModePreferenceControllerTest.java
@@ -53,6 +53,7 @@ public class ZenModePreferenceControllerTest {
private Context mContext;
private ZenModePreferenceController mController;
private ZenModeSettings.SummaryBuilder mSummaryBuilder;
+ private static final String KEY_ZEN_MODE = "zen_mode";
@Before
public void setUp() {
@@ -60,7 +61,7 @@ public class ZenModePreferenceControllerTest {
ShadowApplication shadowApplication = ShadowApplication.getInstance();
shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNotificationManager);
mContext = shadowApplication.getApplicationContext();
- mController = new ZenModePreferenceController(mContext, null);
+ mController = new ZenModePreferenceController(mContext, null, KEY_ZEN_MODE);
when(mNotificationManager.getNotificationPolicy()).thenReturn(mPolicy);
mSummaryBuilder = spy(new ZenModeSettings.SummaryBuilder(mContext));
ReflectionHelpers.setField(mController, "mSummaryBuilder", mSummaryBuilder);