From eff3ca5480789c51768a3a1697503fbbdadc1bd6 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Mon, 4 Apr 2016 13:19:31 +0000 Subject: [PATCH] Revert "Add Preference#onDetachedFromActivity" This reverts commit e18dc50c63110a57cfc29ec9bd21bf3f59abb6b4. Fixes: 27807793 Change-Id: Ib0384e3deb8d6376265e8e60f14490de128c9b68 --- api/current.txt | 1 - api/system-current.txt | 1 - core/java/android/preference/Preference.java | 17 +++------------- .../android/preference/PreferenceGroup.java | 20 +++++-------------- .../android/preference/PreferenceManager.java | 9 +-------- 5 files changed, 9 insertions(+), 39 deletions(-) diff --git a/api/current.txt b/api/current.txt index 0e8155f3dc6bf..270a3a505a6dd 100644 --- a/api/current.txt +++ b/api/current.txt @@ -23885,7 +23885,6 @@ package android.preference { method protected void onClick(); method protected android.view.View onCreateView(android.view.ViewGroup); method public void onDependencyChanged(android.preference.Preference, boolean); - method protected void onDetachedFromActivity(); method protected java.lang.Object onGetDefaultValue(android.content.res.TypedArray, int); method public void onParentChanged(android.preference.Preference, boolean); method protected void onPrepareForRemoval(); diff --git a/api/system-current.txt b/api/system-current.txt index ec92700d327e3..35c8db7650ba7 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -25841,7 +25841,6 @@ package android.preference { method protected void onClick(); method protected android.view.View onCreateView(android.view.ViewGroup); method public void onDependencyChanged(android.preference.Preference, boolean); - method protected void onDetachedFromActivity(); method protected java.lang.Object onGetDefaultValue(android.content.res.TypedArray, int); method public void onParentChanged(android.preference.Preference, boolean); method protected void onPrepareForRemoval(); diff --git a/core/java/android/preference/Preference.java b/core/java/android/preference/Preference.java index 5d64af577cba6..3b482eb5a9b53 100644 --- a/core/java/android/preference/Preference.java +++ b/core/java/android/preference/Preference.java @@ -1184,10 +1184,9 @@ public class Preference implements Comparable { /** * Called when the Preference hierarchy has been attached to the - * {@link PreferenceActivity} or {@link PreferenceFragment}. This can - * also be called when this Preference has been attached to a group - * that was already attached to the {@link PreferenceActivity} or - * {@link PreferenceFragment}. + * {@link PreferenceActivity}. This can also be called when this + * Preference has been attached to a group that was already attached + * to the {@link PreferenceActivity}. */ protected void onAttachedToActivity() { // At this point, the hierarchy that this preference is in is connected @@ -1195,16 +1194,6 @@ public class Preference implements Comparable { registerDependency(); } - /** - * Called when the Preference hierarchy has been detached from the - * {@link PreferenceActivity} or {@link PreferenceFragment}. This can - * also be called when this Preference has been removed from a group - * that was already attached to the {@link PreferenceActivity} or - * {@link PreferenceFragment}. - */ - protected void onDetachedFromActivity() { - } - private void registerDependency() { if (TextUtils.isEmpty(mDependencyKey)) return; diff --git a/core/java/android/preference/PreferenceGroup.java b/core/java/android/preference/PreferenceGroup.java index d6e9e61f358b3..5e84086531450 100644 --- a/core/java/android/preference/PreferenceGroup.java +++ b/core/java/android/preference/PreferenceGroup.java @@ -187,11 +187,7 @@ public abstract class PreferenceGroup extends Preference implements GenericInfla private boolean removePreferenceInt(Preference preference) { synchronized(this) { preference.onPrepareForRemoval(); - boolean success = mPreferenceList.remove(preference); - if (mAttachedToActivity) { - preference.onDetachedFromActivity(); - } - return success; + return mPreferenceList.remove(preference); } } @@ -267,7 +263,7 @@ public abstract class PreferenceGroup extends Preference implements GenericInfla protected boolean isOnSameScreenAsChildren() { return true; } - + @Override protected void onAttachedToActivity() { super.onAttachedToActivity(); @@ -284,17 +280,11 @@ public abstract class PreferenceGroup extends Preference implements GenericInfla } @Override - protected void onDetachedFromActivity() { - super.onDetachedFromActivity(); - + protected void onPrepareForRemoval() { + super.onPrepareForRemoval(); + // We won't be attached to the activity anymore mAttachedToActivity = false; - - // Dispatch to all contained preferences - final int preferenceCount = getPreferenceCount(); - for (int i = 0; i < preferenceCount; i++) { - getPreference(i).onDetachedFromActivity(); - } } @Override diff --git a/core/java/android/preference/PreferenceManager.java b/core/java/android/preference/PreferenceManager.java index 4e4b1c90eca98..55ee77a7d8c03 100644 --- a/core/java/android/preference/PreferenceManager.java +++ b/core/java/android/preference/PreferenceManager.java @@ -396,9 +396,6 @@ public class PreferenceManager { */ boolean setPreferences(PreferenceScreen preferenceScreen) { if (preferenceScreen != mPreferenceScreen) { - if (mPreferenceScreen != null) { - mPreferenceScreen.onDetachedFromActivity(); - } mPreferenceScreen = preferenceScreen; return true; } @@ -707,11 +704,7 @@ public class PreferenceManager { */ void dispatchActivityDestroy() { List list = null; - - if (mPreferenceScreen != null) { - mPreferenceScreen.onDetachedFromActivity(); - mPreferenceScreen = null; - } + synchronized (this) { if (mActivityDestroyListeners != null) { list = new ArrayList(mActivityDestroyListeners);