From c35d9b613e2fac6ecc74a067ebb0fa043c8f85e6 Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Thu, 15 Mar 2018 10:22:01 -0400 Subject: [PATCH] Link to dnd settings from notification settings Test: make -j20 RunSettingsRoboTests Change-Id: Idf70155134b2e78bd410468497cabe8faf1557ce Fixes: 74319354 --- res/xml/configure_notification_settings.xml | 7 +++++++ .../settings/notification/ConfigureNotificationSettings.java | 3 +++ src/com/android/settings/notification/SoundSettings.java | 6 ++++-- .../settings/notification/ZenModePreferenceController.java | 9 +++++---- .../settings/notification/ZenModePreferenceControllerTest.java | 3 ++- 5 files changed, 21 insertions(+), 7 deletions(-) diff --git a/res/xml/configure_notification_settings.xml b/res/xml/configure_notification_settings.xml index 5447c9c0d9..598b1100fd 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 aafda11b82..5b590001a7 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 bcf1cd48a7..437f4d1201 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); -- 2.11.0