ZenModeBackend gets newest notification policy
Previously, notification policy wouldn't be updated so behavior zen mode settings pages wouldn't update when an app changed the notification policy. Now notification policy will be updated on updateState of each AbstractZenModePreferenceController. Bug: 70662324 Test: make RunSettingsRoboTests -j40 Change-Id: Ibee20e4f27e0c833e05230ea8a3ea2cc75ae6bf0
This commit is contained in:
@@ -31,7 +31,6 @@ import android.service.notification.ScheduleCalendar;
|
|||||||
import android.service.notification.ZenModeConfig;
|
import android.service.notification.ZenModeConfig;
|
||||||
import android.support.v7.preference.Preference;
|
import android.support.v7.preference.Preference;
|
||||||
import android.support.v7.preference.PreferenceScreen;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
import android.util.Slog;
|
|
||||||
|
|
||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
import com.android.settings.core.PreferenceControllerMixin;
|
import com.android.settings.core.PreferenceControllerMixin;
|
||||||
@@ -54,6 +53,7 @@ abstract public class AbstractZenModePreferenceController extends
|
|||||||
final private NotificationManager mNotificationManager;
|
final private NotificationManager mNotificationManager;
|
||||||
protected static ZenModeConfigWrapper mZenModeConfigWrapper;
|
protected static ZenModeConfigWrapper mZenModeConfigWrapper;
|
||||||
protected MetricsFeatureProvider mMetricsFeatureProvider;
|
protected MetricsFeatureProvider mMetricsFeatureProvider;
|
||||||
|
protected final ZenModeBackend mBackend;
|
||||||
|
|
||||||
public AbstractZenModePreferenceController(Context context, String key,
|
public AbstractZenModePreferenceController(Context context, String key,
|
||||||
Lifecycle lifecycle) {
|
Lifecycle lifecycle) {
|
||||||
@@ -68,6 +68,7 @@ abstract public class AbstractZenModePreferenceController extends
|
|||||||
|
|
||||||
final FeatureFactory featureFactory = FeatureFactory.getFactory(mContext);
|
final FeatureFactory featureFactory = FeatureFactory.getFactory(mContext);
|
||||||
mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
|
mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
|
||||||
|
mBackend = ZenModeBackend.getInstance(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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() {
|
protected NotificationManager.Policy getPolicy() {
|
||||||
return mNotificationManager.getNotificationPolicy();
|
return mNotificationManager.getNotificationPolicy();
|
||||||
}
|
}
|
||||||
@@ -99,8 +108,8 @@ abstract public class AbstractZenModePreferenceController extends
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected int getZenMode() {
|
protected int getZenMode() {
|
||||||
return Settings.Global.getInt(mContext.getContentResolver(),
|
return Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.ZEN_MODE,
|
||||||
Settings.Global.ZEN_MODE, 0);
|
mBackend.mZenMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
class SettingObserver extends ContentObserver {
|
class SettingObserver extends ContentObserver {
|
||||||
@@ -188,7 +197,6 @@ abstract public class AbstractZenModePreferenceController extends
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return endTimeMs;
|
return endTimeMs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -30,11 +30,9 @@ public class ZenModeAlarmsPreferenceController extends
|
|||||||
AbstractZenModePreferenceController implements Preference.OnPreferenceChangeListener {
|
AbstractZenModePreferenceController implements Preference.OnPreferenceChangeListener {
|
||||||
|
|
||||||
protected static final String KEY = "zen_mode_alarms";
|
protected static final String KEY = "zen_mode_alarms";
|
||||||
private final ZenModeBackend mBackend;
|
|
||||||
|
|
||||||
public ZenModeAlarmsPreferenceController(Context context, Lifecycle lifecycle) {
|
public ZenModeAlarmsPreferenceController(Context context, Lifecycle lifecycle) {
|
||||||
super(context, KEY, lifecycle);
|
super(context, KEY, lifecycle);
|
||||||
mBackend = ZenModeBackend.getInstance(context);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -82,7 +82,6 @@ public class ZenModeBackend {
|
|||||||
mZenMode = zenMode;
|
mZenMode = zenMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** gets last zen mode set by setZenMode or updateZenMode **/
|
|
||||||
protected int getZenMode() {
|
protected int getZenMode() {
|
||||||
mZenMode = Settings.Global.getInt(mContext.getContentResolver(),
|
mZenMode = Settings.Global.getInt(mContext.getContentResolver(),
|
||||||
Settings.Global.ZEN_MODE, mZenMode);
|
Settings.Global.ZEN_MODE, mZenMode);
|
||||||
|
@@ -34,11 +34,9 @@ public class ZenModeButtonPreferenceController extends AbstractZenModePreference
|
|||||||
protected static final String KEY = "zen_mode_settings_button_container";
|
protected static final String KEY = "zen_mode_settings_button_container";
|
||||||
private Button mZenButtonOn;
|
private Button mZenButtonOn;
|
||||||
private Button mZenButtonOff;
|
private Button mZenButtonOff;
|
||||||
private ZenModeBackend mBackend;
|
|
||||||
|
|
||||||
public ZenModeButtonPreferenceController(Context context, Lifecycle lifecycle) {
|
public ZenModeButtonPreferenceController(Context context, Lifecycle lifecycle) {
|
||||||
super(context, KEY, lifecycle);
|
super(context, KEY, lifecycle);
|
||||||
mBackend = ZenModeBackend.getInstance(context);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -26,11 +26,9 @@ import com.android.settingslib.core.lifecycle.Lifecycle;
|
|||||||
public class ZenModeCallsPreferenceController extends AbstractZenModePreferenceController {
|
public class ZenModeCallsPreferenceController extends AbstractZenModePreferenceController {
|
||||||
|
|
||||||
protected static final String KEY = "zen_mode_calls";
|
protected static final String KEY = "zen_mode_calls";
|
||||||
private final ZenModeBackend mBackend;
|
|
||||||
|
|
||||||
public ZenModeCallsPreferenceController(Context context, Lifecycle lifecycle) {
|
public ZenModeCallsPreferenceController(Context context, Lifecycle lifecycle) {
|
||||||
super(context, KEY, lifecycle);
|
super(context, KEY, lifecycle);
|
||||||
mBackend = ZenModeBackend.getInstance(context);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -31,11 +31,9 @@ public class ZenModeEventsPreferenceController extends AbstractZenModePreference
|
|||||||
implements Preference.OnPreferenceChangeListener {
|
implements Preference.OnPreferenceChangeListener {
|
||||||
|
|
||||||
protected static final String KEY = "zen_mode_events";
|
protected static final String KEY = "zen_mode_events";
|
||||||
private final ZenModeBackend mBackend;
|
|
||||||
|
|
||||||
public ZenModeEventsPreferenceController(Context context, Lifecycle lifecycle) {
|
public ZenModeEventsPreferenceController(Context context, Lifecycle lifecycle) {
|
||||||
super(context, KEY, lifecycle);
|
super(context, KEY, lifecycle);
|
||||||
mBackend = ZenModeBackend.getInstance(context);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -10,11 +10,9 @@ import com.android.settingslib.core.lifecycle.Lifecycle;
|
|||||||
public class ZenModeMessagesPreferenceController extends AbstractZenModePreferenceController {
|
public class ZenModeMessagesPreferenceController extends AbstractZenModePreferenceController {
|
||||||
|
|
||||||
protected static final String KEY = "zen_mode_messages";
|
protected static final String KEY = "zen_mode_messages";
|
||||||
private final ZenModeBackend mBackend;
|
|
||||||
|
|
||||||
public ZenModeMessagesPreferenceController(Context context, Lifecycle lifecycle) {
|
public ZenModeMessagesPreferenceController(Context context, Lifecycle lifecycle) {
|
||||||
super(context, KEY, lifecycle);
|
super(context, KEY, lifecycle);
|
||||||
mBackend = ZenModeBackend.getInstance(context);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -30,11 +30,9 @@ public class ZenModeRemindersPreferenceController extends AbstractZenModePrefere
|
|||||||
implements Preference.OnPreferenceChangeListener {
|
implements Preference.OnPreferenceChangeListener {
|
||||||
|
|
||||||
protected static final String KEY = "zen_mode_reminders";
|
protected static final String KEY = "zen_mode_reminders";
|
||||||
private final ZenModeBackend mBackend;
|
|
||||||
|
|
||||||
public ZenModeRemindersPreferenceController(Context context, Lifecycle lifecycle) {
|
public ZenModeRemindersPreferenceController(Context context, Lifecycle lifecycle) {
|
||||||
super(context, KEY, lifecycle);
|
super(context, KEY, lifecycle);
|
||||||
mBackend = ZenModeBackend.getInstance(context);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -30,11 +30,9 @@ public class ZenModeRepeatCallersPreferenceController extends AbstractZenModePre
|
|||||||
implements Preference.OnPreferenceChangeListener {
|
implements Preference.OnPreferenceChangeListener {
|
||||||
|
|
||||||
protected static final String KEY = "zen_mode_repeat_callers";
|
protected static final String KEY = "zen_mode_repeat_callers";
|
||||||
private final ZenModeBackend mBackend;
|
|
||||||
|
|
||||||
public ZenModeRepeatCallersPreferenceController(Context context, Lifecycle lifecycle) {
|
public ZenModeRepeatCallersPreferenceController(Context context, Lifecycle lifecycle) {
|
||||||
super(context, KEY, lifecycle);
|
super(context, KEY, lifecycle);
|
||||||
mBackend = ZenModeBackend.getInstance(context);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -29,11 +29,9 @@ public class ZenModeScreenOffPreferenceController extends
|
|||||||
AbstractZenModePreferenceController implements Preference.OnPreferenceChangeListener {
|
AbstractZenModePreferenceController implements Preference.OnPreferenceChangeListener {
|
||||||
|
|
||||||
protected static final String KEY = "zen_mode_screen_off";
|
protected static final String KEY = "zen_mode_screen_off";
|
||||||
private final ZenModeBackend mBackend;
|
|
||||||
|
|
||||||
public ZenModeScreenOffPreferenceController(Context context, Lifecycle lifecycle) {
|
public ZenModeScreenOffPreferenceController(Context context, Lifecycle lifecycle) {
|
||||||
super(context, KEY, lifecycle);
|
super(context, KEY, lifecycle);
|
||||||
mBackend = ZenModeBackend.getInstance(context);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -29,11 +29,9 @@ public class ZenModeScreenOnPreferenceController extends
|
|||||||
AbstractZenModePreferenceController implements Preference.OnPreferenceChangeListener {
|
AbstractZenModePreferenceController implements Preference.OnPreferenceChangeListener {
|
||||||
|
|
||||||
protected static final String KEY = "zen_mode_screen_on";
|
protected static final String KEY = "zen_mode_screen_on";
|
||||||
private final ZenModeBackend mBackend;
|
|
||||||
|
|
||||||
public ZenModeScreenOnPreferenceController(Context context, Lifecycle lifecycle) {
|
public ZenModeScreenOnPreferenceController(Context context, Lifecycle lifecycle) {
|
||||||
super(context, KEY, lifecycle);
|
super(context, KEY, lifecycle);
|
||||||
mBackend = ZenModeBackend.getInstance(context);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Reference in New Issue
Block a user