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