extends AbstractZenModePreferenceController
implements ZenCustomRadioButtonPreference.OnRadioButtonClickListener {
+ private ZenCustomRadioButtonPreference mPreference;
+
protected static final int EFFECTS = Policy.SUPPRESSED_EFFECT_SCREEN_OFF
| Policy.SUPPRESSED_EFFECT_SCREEN_ON
| Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT
}
@Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+ mPreference = (ZenCustomRadioButtonPreference) screen.findPreference(getPreferenceKey());
+ mPreference.setOnRadioButtonClickListener(this);
+ }
+
+ @Override
public boolean isAvailable() {
return true;
}
boolean everythingBlocked = Policy.areAllVisualEffectsSuppressed(
mBackend.mPolicy.suppressedVisualEffects);
- ZenCustomRadioButtonPreference pref = (ZenCustomRadioButtonPreference) preference;
- pref.setOnRadioButtonClickListener(this);
- pref.setChecked(everythingBlocked);
- }
-
- protected void deselect(PreferenceScreen screen) {
- ZenCustomRadioButtonPreference preference =
- (ZenCustomRadioButtonPreference) screen.findPreference(getPreferenceKey());
- if (preference != null) {
- preference.setChecked(false);
- }
+ mPreference.setChecked(everythingBlocked);
}
@Override
package com.android.settings.notification;
-import android.app.NotificationManager.Policy;
+import android.app.NotificationManager;
import android.content.Context;
-
import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;
public class ZenModeVisEffectsCustomPreferenceController
extends AbstractZenModePreferenceController {
- protected static final int INTERRUPTIVE_EFFECTS = Policy.SUPPRESSED_EFFECT_AMBIENT
- | Policy.SUPPRESSED_EFFECT_PEEK
- | Policy.SUPPRESSED_EFFECT_LIGHTS
- | Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT;
+ private ZenCustomRadioButtonPreference mPreference;
+
+ protected static final int INTERRUPTIVE_EFFECTS =
+ NotificationManager.Policy.SUPPRESSED_EFFECT_AMBIENT
+ | NotificationManager.Policy.SUPPRESSED_EFFECT_PEEK
+ | NotificationManager.Policy.SUPPRESSED_EFFECT_LIGHTS
+ | NotificationManager.Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT;
public ZenModeVisEffectsCustomPreferenceController(Context context, Lifecycle lifecycle,
String key) {
}
@Override
- public void updateState(Preference preference) {
- super.updateState(preference);
-
- ZenCustomRadioButtonPreference pref = (ZenCustomRadioButtonPreference) preference;
- pref.setChecked(areCustomOptionsSelected());
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+ mPreference = (ZenCustomRadioButtonPreference) screen.findPreference(getPreferenceKey());
- pref.setOnGearClickListener(p -> {
+ mPreference.setOnGearClickListener(p -> {
launchCustomSettings();
});
- pref.setOnRadioButtonClickListener(p -> {
+ mPreference.setOnRadioButtonClickListener(p -> {
launchCustomSettings();
});
}
+ @Override
+ public void updateState(Preference preference) {
+ super.updateState(preference);
+
+ mPreference.setChecked(areCustomOptionsSelected());
+ }
+
protected boolean areCustomOptionsSelected() {
boolean allEffectsSuppressed =
- Policy.areAllVisualEffectsSuppressed(mBackend.mPolicy.suppressedVisualEffects);
+ NotificationManager.Policy.areAllVisualEffectsSuppressed(
+ mBackend.mPolicy.suppressedVisualEffects);
boolean noEffectsSuppressed = mBackend.mPolicy.suppressedVisualEffects == 0;
return !(allEffectsSuppressed || noEffectsSuppressed);
extends AbstractZenModePreferenceController
implements ZenCustomRadioButtonPreference.OnRadioButtonClickListener {
+ private ZenCustomRadioButtonPreference mPreference;
+
protected static final int EFFECTS = Policy.SUPPRESSED_EFFECT_SCREEN_OFF
| Policy.SUPPRESSED_EFFECT_SCREEN_ON
| Policy.SUPPRESSED_EFFECT_FULL_SCREEN_INTENT
}
@Override
+ public void displayPreference(PreferenceScreen screen) {
+ super.displayPreference(screen);
+ mPreference = (ZenCustomRadioButtonPreference) screen.findPreference(getPreferenceKey());
+ mPreference.setOnRadioButtonClickListener(this);
+ }
+
+ @Override
public boolean isAvailable() {
return true;
}
super.updateState(preference);
boolean nothingBlocked = mBackend.mPolicy.suppressedVisualEffects == 0;
- ZenCustomRadioButtonPreference pref = (ZenCustomRadioButtonPreference) preference;
- pref.setOnRadioButtonClickListener(this);
- pref.setChecked(nothingBlocked);
+ mPreference.setChecked(nothingBlocked);
}
@Override
MetricsProto.MetricsEvent.ACTION_ZEN_SOUND_ONLY, true);
mBackend.saveVisualEffectsPolicy(EFFECTS, false);
}
-
- protected void deselect(PreferenceScreen screen) {
- ZenCustomRadioButtonPreference preference =
- (ZenCustomRadioButtonPreference) screen.findPreference(getPreferenceKey());
- if (preference != null) {
- preference.setChecked(false);
- }
- }
}
ReflectionHelpers.setField(mController, "mBackend", mBackend);
when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mockPref);
+ mController.displayPreference(mScreen);
}
@Test