Use standard displayPreference

For notification fields. This is required for them to
display properly within an 'advanced' preference category.

Test: robotests, manual
Change-Id: I1e1ff0e801e136c6a86a0d9164ed21d4160e897a
Fixes: 80132743
This commit is contained in:
Julia Reynolds
2018-05-23 11:09:34 -04:00
parent 53f6b7cb06
commit b9676e9076

View File

@@ -83,28 +83,6 @@ public abstract class NotificationPreferenceController extends AbstractPreferenc
return true;
}
/**
* Displays or removes preference in this controller.
*/
@Override
public void displayPreference(PreferenceScreen screen) {
if (isAvailable()) {
final Preference preference = screen.findPreference(getPreferenceKey());
if (mPreference != null && preference == null) {
screen.addPreference(mPreference);
}
if (preference != null) {
mPreference = preference;
}
if (mPreference != null && this instanceof Preference.OnPreferenceChangeListener) {
mPreference.setOnPreferenceChangeListener(
(Preference.OnPreferenceChangeListener) this);
}
} else {
findAndRemovePreference(screen, getPreferenceKey());
}
}
// finds the preference recursively and removes it from its parent
private void findAndRemovePreference(PreferenceGroup prefGroup, String key) {
final int preferenceCount = prefGroup.getPreferenceCount();