Redesign zen visual effects screens

Test: robotests
Bug: 78448988
Change-Id: I3040c1103d76c75601e82e3660a2ace202837ec2
This commit is contained in:
Julia Reynolds
2018-04-23 12:24:21 -04:00
parent 98015e7c93
commit 4aa42fed67
20 changed files with 1507 additions and 60 deletions

View File

@@ -54,6 +54,7 @@ abstract public class AbstractZenModePreferenceController extends
protected static ZenModeConfigWrapper mZenModeConfigWrapper;
protected MetricsFeatureProvider mMetricsFeatureProvider;
protected final ZenModeBackend mBackend;
protected PreferenceScreen mScreen;
public AbstractZenModePreferenceController(Context context, String key,
Lifecycle lifecycle) {
@@ -71,16 +72,26 @@ abstract public class AbstractZenModePreferenceController extends
mBackend = ZenModeBackend.getInstance(context);
}
@Override
public String getPreferenceKey() {
return KEY;
}
@Override
public void displayPreference(PreferenceScreen screen) {
super.displayPreference(screen);
mSettingObserver = new SettingObserver(screen.findPreference(KEY));
mScreen = screen;
Preference pref = screen.findPreference(KEY);
if (pref != null) {
mSettingObserver = new SettingObserver(pref);
}
}
@Override
public void onResume() {
if (mSettingObserver != null) {
mSettingObserver.register(mContext.getContentResolver());
mSettingObserver.onChange(false, null);
}
}
@@ -91,14 +102,6 @@ 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();
}
@@ -144,8 +147,13 @@ abstract public class AbstractZenModePreferenceController extends
@Override
public void onChange(boolean selfChange, Uri uri) {
super.onChange(selfChange, uri);
if (ZEN_MODE_URI.equals(uri) || ZEN_MODE_CONFIG_ETAG_URI.equals(uri)
if (uri == null || ZEN_MODE_URI.equals(uri) || ZEN_MODE_CONFIG_ETAG_URI.equals(uri)
|| ZEN_MODE_DURATION_URI.equals(uri)) {
mBackend.updatePolicy();
mBackend.updateZenMode();
if (mScreen != null) {
displayPreference(mScreen);
}
updateState(mPreference);
}
}