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

Commit a1dc8f6d authored by Filip Pavlis's avatar Filip Pavlis Committed by Android (Google) Code Review
Browse files

Merge "Add getParent() on Preference."

parents 6c9c5541 cba64589
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -30768,6 +30768,7 @@ package android.preference {
    method public android.preference.Preference.OnPreferenceChangeListener getOnPreferenceChangeListener();
    method public android.preference.Preference.OnPreferenceClickListener getOnPreferenceClickListener();
    method public int getOrder();
    method public android.preference.PreferenceGroup getParent();
    method protected boolean getPersistedBoolean(boolean);
    method protected float getPersistedFloat(float);
    method protected int getPersistedInt(int);
+1 −0
Original line number Diff line number Diff line
@@ -33601,6 +33601,7 @@ package android.preference {
    method public android.preference.Preference.OnPreferenceChangeListener getOnPreferenceChangeListener();
    method public android.preference.Preference.OnPreferenceClickListener getOnPreferenceClickListener();
    method public int getOrder();
    method public android.preference.PreferenceGroup getParent();
    method protected boolean getPersistedBoolean(boolean);
    method protected float getPersistedFloat(float);
    method protected int getPersistedInt(int);
+1 −0
Original line number Diff line number Diff line
@@ -30881,6 +30881,7 @@ package android.preference {
    method public android.preference.Preference.OnPreferenceChangeListener getOnPreferenceChangeListener();
    method public android.preference.Preference.OnPreferenceClickListener getOnPreferenceClickListener();
    method public int getOrder();
    method public android.preference.PreferenceGroup getParent();
    method protected boolean getPersistedBoolean(boolean);
    method protected float getPersistedFloat(float);
    method protected int getPersistedInt(int);
+23 −0
Original line number Diff line number Diff line
@@ -145,6 +145,8 @@ public class Preference implements Comparable<Preference> {

    private List<Preference> mDependents;

    private PreferenceGroup mParentGroup;

    private boolean mBaseMethodCalled;

    /**
@@ -1238,6 +1240,16 @@ public class Preference implements Comparable<Preference> {
        registerDependency();
    }

    /**
     * Assigns a {@link PreferenceGroup} as the parent of this Preference. Set null to remove
     * the current parent.
     *
     * @param parentGroup Parent preference group of this Preference or null if none.
     */
    void assignParent(@Nullable PreferenceGroup parentGroup) {
        mParentGroup = parentGroup;
    }

    private void registerDependency() {

        if (TextUtils.isEmpty(mDependencyKey)) return;
@@ -1400,6 +1412,17 @@ public class Preference implements Comparable<Preference> {
        return mDependencyKey;
    }

    /**
     * Returns the {@link PreferenceGroup} which is this Preference assigned to or null if this
     * preference is not assigned to any group or is a root Preference.
     *
     * @return The parent PreferenceGroup or null if not attached to any.
     */
    @Nullable
    public PreferenceGroup getParent() {
        return mParentGroup;
    }

    /**
     * Called when this Preference is being removed from the hierarchy. You
     * should remove any references to this Preference that you know about. Make
+25 −21
Original line number Diff line number Diff line
@@ -161,6 +161,7 @@ public abstract class PreferenceGroup extends Preference implements GenericInfla
        }

        preference.onAttachedToHierarchy(getPreferenceManager());
        preference.assignParent(this);

        if (mAttachedToActivity) {
            preference.onAttachedToActivity();
@@ -186,6 +187,9 @@ public abstract class PreferenceGroup extends Preference implements GenericInfla
    private boolean removePreferenceInt(Preference preference) {
        synchronized(this) {
            preference.onPrepareForRemoval();
            if (preference.getParent() == this) {
                preference.assignParent(null);
            }
            return mPreferenceList.remove(preference);
        }
    }