diff options
author | Sam Mortimer <sam@mortimer.me.uk> | 2017-12-10 15:10:38 -0800 |
---|---|---|
committer | Bruno Martins <bgcngm@gmail.com> | 2017-12-19 01:18:53 +0000 |
commit | 7ab8aadc8a2fdf48bcc6a6b749b30c798aa7d377 (patch) | |
tree | 93fb2d01d4271e071cbb289b788b1ceee773cb7d /sdk/src/java/lineageos/preference/ConstraintsHelper.java | |
parent | 34d6da24071ed0fe92d3de74a3c6769321013d5a (diff) |
Revert "Revert "lineage-sdk self-removing prefs: move reap from onBindViewHolder to onAttached""
This reverts commit 9f648b7046d1f921707c749b02b911ae126fd0fa.
Change-Id: Ia102cfb55c16eb52e1412e815abd081d504fc96f
Diffstat (limited to 'sdk/src/java/lineageos/preference/ConstraintsHelper.java')
-rw-r--r-- | sdk/src/java/lineageos/preference/ConstraintsHelper.java | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/sdk/src/java/lineageos/preference/ConstraintsHelper.java b/sdk/src/java/lineageos/preference/ConstraintsHelper.java index 35e1d5d1..b48b00ee 100644 --- a/sdk/src/java/lineageos/preference/ConstraintsHelper.java +++ b/sdk/src/java/lineageos/preference/ConstraintsHelper.java @@ -300,7 +300,7 @@ public class ConstraintsHelper { return fallbackAttr; } - public void onBindViewHolder(PreferenceViewHolder holder) { + public void onAttached() { checkIntent(); if (isAvailable() && mReplacesKey != null) { @@ -308,7 +308,9 @@ public class ConstraintsHelper { } Graveyard.get(mContext).summonReaper(mPref.getPreferenceManager()); + } + public void onBindViewHolder(PreferenceViewHolder holder) { if (!isAvailable()) { return; } @@ -325,7 +327,7 @@ public class ConstraintsHelper { * If we want to keep this at the preference level vs the fragment level, we need to * collate all the preferences that need to be removed when attached to the * hierarchy, then purge them all when loading is complete. The Graveyard keeps track - * of this, and will reap the dead during the first call to onBindViewHolder. + * of this, and will reap the dead when onAttached is called. */ private static class Graveyard { @@ -370,20 +372,12 @@ public class ConstraintsHelper { return null; } - private void removePreference(PreferenceManager mgr, Preference pref) { - final PreferenceGroup group = getParent(pref, pref); - group.removePreference(pref); - if (group.getPreferenceCount() == 0) { - getParent(pref, group).removePreference(group); - } - } - public void summonReaper(PreferenceManager mgr) { synchronized (mDeathRow) { for (String dead : mDeathRow) { Preference deadPref = mgr.findPreference(dead); if (deadPref != null) { - removePreference(mgr, deadPref); + deadPref.setVisible(false); } } mDeathRow.clear(); |