Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b9676e90 authored by Julia Reynolds's avatar Julia Reynolds
Browse files

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
parent 53f6b7cb
Loading
Loading
Loading
Loading
+0 −22
Original line number Diff line number Diff line
@@ -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();