OSDN Git Service

Set click listeners on displayPreference
[android-x86/packages-apps-Settings.git] / src / com / android / settings / notification / ZenModeVisEffectsNonePreferenceController.java
index abfbd01..580fb5d 100644 (file)
@@ -28,6 +28,8 @@ public class ZenModeVisEffectsNonePreferenceController
         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
@@ -44,6 +46,13 @@ public class ZenModeVisEffectsNonePreferenceController
     }
 
     @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = (ZenCustomRadioButtonPreference) screen.findPreference(getPreferenceKey());
+        mPreference.setOnRadioButtonClickListener(this);
+    }
+
+    @Override
     public boolean isAvailable() {
         return true;
     }
@@ -53,9 +62,7 @@ public class ZenModeVisEffectsNonePreferenceController
         super.updateState(preference);
 
         boolean nothingBlocked = mBackend.mPolicy.suppressedVisualEffects == 0;
-        ZenCustomRadioButtonPreference pref = (ZenCustomRadioButtonPreference) preference;
-        pref.setOnRadioButtonClickListener(this);
-        pref.setChecked(nothingBlocked);
+        mPreference.setChecked(nothingBlocked);
     }
 
     @Override
@@ -64,12 +71,4 @@ public class ZenModeVisEffectsNonePreferenceController
                 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);
-        }
-    }
 }