diff --git a/src/com/android/settings/notification/AbstractZenModePreferenceController.java b/src/com/android/settings/notification/AbstractZenModePreferenceController.java index 33c027cd789..81ceca19c77 100644 --- a/src/com/android/settings/notification/AbstractZenModePreferenceController.java +++ b/src/com/android/settings/notification/AbstractZenModePreferenceController.java @@ -31,7 +31,6 @@ import android.service.notification.ScheduleCalendar; import android.service.notification.ZenModeConfig; import android.support.v7.preference.Preference; import android.support.v7.preference.PreferenceScreen; -import android.util.Slog; import com.android.internal.annotations.VisibleForTesting; import com.android.settings.core.PreferenceControllerMixin; @@ -54,6 +53,7 @@ abstract public class AbstractZenModePreferenceController extends final private NotificationManager mNotificationManager; protected static ZenModeConfigWrapper mZenModeConfigWrapper; protected MetricsFeatureProvider mMetricsFeatureProvider; + protected final ZenModeBackend mBackend; public AbstractZenModePreferenceController(Context context, String key, Lifecycle lifecycle) { @@ -68,6 +68,7 @@ abstract public class AbstractZenModePreferenceController extends final FeatureFactory featureFactory = FeatureFactory.getFactory(mContext); mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider(); + mBackend = ZenModeBackend.getInstance(context); } @Override @@ -90,6 +91,14 @@ abstract public class AbstractZenModePreferenceController extends } } + @Override + public void updateState(Preference preference) { + super.updateState(preference); + + mBackend.updatePolicy(); + mBackend.updateZenMode(); + } + protected NotificationManager.Policy getPolicy() { return mNotificationManager.getNotificationPolicy(); } @@ -99,8 +108,8 @@ abstract public class AbstractZenModePreferenceController extends } protected int getZenMode() { - return Settings.Global.getInt(mContext.getContentResolver(), - Settings.Global.ZEN_MODE, 0); + return Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.ZEN_MODE, + mBackend.mZenMode); } class SettingObserver extends ContentObserver { @@ -188,7 +197,6 @@ abstract public class AbstractZenModePreferenceController extends } } - return endTimeMs; } diff --git a/src/com/android/settings/notification/ZenModeAlarmsPreferenceController.java b/src/com/android/settings/notification/ZenModeAlarmsPreferenceController.java index a15f7fca550..af5910760e3 100644 --- a/src/com/android/settings/notification/ZenModeAlarmsPreferenceController.java +++ b/src/com/android/settings/notification/ZenModeAlarmsPreferenceController.java @@ -30,11 +30,9 @@ public class ZenModeAlarmsPreferenceController extends AbstractZenModePreferenceController implements Preference.OnPreferenceChangeListener { protected static final String KEY = "zen_mode_alarms"; - private final ZenModeBackend mBackend; public ZenModeAlarmsPreferenceController(Context context, Lifecycle lifecycle) { super(context, KEY, lifecycle); - mBackend = ZenModeBackend.getInstance(context); } @Override diff --git a/src/com/android/settings/notification/ZenModeBackend.java b/src/com/android/settings/notification/ZenModeBackend.java index 945da0b9ca7..6cee28e26aa 100644 --- a/src/com/android/settings/notification/ZenModeBackend.java +++ b/src/com/android/settings/notification/ZenModeBackend.java @@ -82,7 +82,6 @@ public class ZenModeBackend { mZenMode = zenMode; } - /** gets last zen mode set by setZenMode or updateZenMode **/ protected int getZenMode() { mZenMode = Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.ZEN_MODE, mZenMode); diff --git a/src/com/android/settings/notification/ZenModeButtonPreferenceController.java b/src/com/android/settings/notification/ZenModeButtonPreferenceController.java index 1886dab1524..f5169f04500 100644 --- a/src/com/android/settings/notification/ZenModeButtonPreferenceController.java +++ b/src/com/android/settings/notification/ZenModeButtonPreferenceController.java @@ -34,11 +34,9 @@ public class ZenModeButtonPreferenceController extends AbstractZenModePreference protected static final String KEY = "zen_mode_settings_button_container"; private Button mZenButtonOn; private Button mZenButtonOff; - private ZenModeBackend mBackend; public ZenModeButtonPreferenceController(Context context, Lifecycle lifecycle) { super(context, KEY, lifecycle); - mBackend = ZenModeBackend.getInstance(context); } @Override diff --git a/src/com/android/settings/notification/ZenModeCallsPreferenceController.java b/src/com/android/settings/notification/ZenModeCallsPreferenceController.java index d952c11c149..3e2f8022f58 100644 --- a/src/com/android/settings/notification/ZenModeCallsPreferenceController.java +++ b/src/com/android/settings/notification/ZenModeCallsPreferenceController.java @@ -26,11 +26,9 @@ import com.android.settingslib.core.lifecycle.Lifecycle; public class ZenModeCallsPreferenceController extends AbstractZenModePreferenceController { protected static final String KEY = "zen_mode_calls"; - private final ZenModeBackend mBackend; public ZenModeCallsPreferenceController(Context context, Lifecycle lifecycle) { super(context, KEY, lifecycle); - mBackend = ZenModeBackend.getInstance(context); } @Override diff --git a/src/com/android/settings/notification/ZenModeEventsPreferenceController.java b/src/com/android/settings/notification/ZenModeEventsPreferenceController.java index be5e6d6e925..44234949a15 100644 --- a/src/com/android/settings/notification/ZenModeEventsPreferenceController.java +++ b/src/com/android/settings/notification/ZenModeEventsPreferenceController.java @@ -31,11 +31,9 @@ public class ZenModeEventsPreferenceController extends AbstractZenModePreference implements Preference.OnPreferenceChangeListener { protected static final String KEY = "zen_mode_events"; - private final ZenModeBackend mBackend; public ZenModeEventsPreferenceController(Context context, Lifecycle lifecycle) { super(context, KEY, lifecycle); - mBackend = ZenModeBackend.getInstance(context); } @Override diff --git a/src/com/android/settings/notification/ZenModeMessagesPreferenceController.java b/src/com/android/settings/notification/ZenModeMessagesPreferenceController.java index dad6cf13e5c..0ffc44d4b7f 100644 --- a/src/com/android/settings/notification/ZenModeMessagesPreferenceController.java +++ b/src/com/android/settings/notification/ZenModeMessagesPreferenceController.java @@ -10,11 +10,9 @@ import com.android.settingslib.core.lifecycle.Lifecycle; public class ZenModeMessagesPreferenceController extends AbstractZenModePreferenceController { protected static final String KEY = "zen_mode_messages"; - private final ZenModeBackend mBackend; public ZenModeMessagesPreferenceController(Context context, Lifecycle lifecycle) { super(context, KEY, lifecycle); - mBackend = ZenModeBackend.getInstance(context); } @Override diff --git a/src/com/android/settings/notification/ZenModeRemindersPreferenceController.java b/src/com/android/settings/notification/ZenModeRemindersPreferenceController.java index 99a4f0d7b64..b6c29223584 100644 --- a/src/com/android/settings/notification/ZenModeRemindersPreferenceController.java +++ b/src/com/android/settings/notification/ZenModeRemindersPreferenceController.java @@ -30,11 +30,9 @@ public class ZenModeRemindersPreferenceController extends AbstractZenModePrefere implements Preference.OnPreferenceChangeListener { protected static final String KEY = "zen_mode_reminders"; - private final ZenModeBackend mBackend; public ZenModeRemindersPreferenceController(Context context, Lifecycle lifecycle) { super(context, KEY, lifecycle); - mBackend = ZenModeBackend.getInstance(context); } @Override diff --git a/src/com/android/settings/notification/ZenModeRepeatCallersPreferenceController.java b/src/com/android/settings/notification/ZenModeRepeatCallersPreferenceController.java index 82fe865885c..d5c0a007119 100644 --- a/src/com/android/settings/notification/ZenModeRepeatCallersPreferenceController.java +++ b/src/com/android/settings/notification/ZenModeRepeatCallersPreferenceController.java @@ -30,11 +30,9 @@ public class ZenModeRepeatCallersPreferenceController extends AbstractZenModePre implements Preference.OnPreferenceChangeListener { protected static final String KEY = "zen_mode_repeat_callers"; - private final ZenModeBackend mBackend; public ZenModeRepeatCallersPreferenceController(Context context, Lifecycle lifecycle) { super(context, KEY, lifecycle); - mBackend = ZenModeBackend.getInstance(context); } @Override diff --git a/src/com/android/settings/notification/ZenModeScreenOffPreferenceController.java b/src/com/android/settings/notification/ZenModeScreenOffPreferenceController.java index 0ba24c07a9c..81c9b0d3f72 100644 --- a/src/com/android/settings/notification/ZenModeScreenOffPreferenceController.java +++ b/src/com/android/settings/notification/ZenModeScreenOffPreferenceController.java @@ -29,11 +29,9 @@ public class ZenModeScreenOffPreferenceController extends AbstractZenModePreferenceController implements Preference.OnPreferenceChangeListener { protected static final String KEY = "zen_mode_screen_off"; - private final ZenModeBackend mBackend; public ZenModeScreenOffPreferenceController(Context context, Lifecycle lifecycle) { super(context, KEY, lifecycle); - mBackend = ZenModeBackend.getInstance(context); } @Override diff --git a/src/com/android/settings/notification/ZenModeScreenOnPreferenceController.java b/src/com/android/settings/notification/ZenModeScreenOnPreferenceController.java index bcb1af89a0b..bab4dd1abce 100644 --- a/src/com/android/settings/notification/ZenModeScreenOnPreferenceController.java +++ b/src/com/android/settings/notification/ZenModeScreenOnPreferenceController.java @@ -29,11 +29,9 @@ public class ZenModeScreenOnPreferenceController extends AbstractZenModePreferenceController implements Preference.OnPreferenceChangeListener { protected static final String KEY = "zen_mode_screen_on"; - private final ZenModeBackend mBackend; public ZenModeScreenOnPreferenceController(Context context, Lifecycle lifecycle) { super(context, KEY, lifecycle); - mBackend = ZenModeBackend.getInstance(context); } @Override