Revert "Add Preference#onDetachedFromActivity"

This reverts commit e18dc50c63110a57cfc29ec9bd21bf3f59abb6b4.
Fixes: 27807793

Change-Id: Ib0384e3deb8d6376265e8e60f14490de128c9b68
(cherry picked from commit eff3ca5480789c51768a3a1697503fbbdadc1bd6)
diff --git a/api/current.txt b/api/current.txt
index f134786..259b3f6 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -29701,7 +29701,6 @@
     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 6414cd1..db27d8e 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -32005,7 +32005,6 @@
     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 d41bc07..b1cad05 100644
--- a/core/java/android/preference/Preference.java
+++ b/core/java/android/preference/Preference.java
@@ -1184,10 +1184,9 @@
     
     /**
      * 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 @@
         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 13c3661..f17506b 100644
--- a/core/java/android/preference/PreferenceGroup.java
+++ b/core/java/android/preference/PreferenceGroup.java
@@ -186,11 +186,7 @@
     private boolean removePreferenceInt(Preference preference) {
         synchronized(this) {
             preference.onPrepareForRemoval();
-            boolean success = mPreferenceList.remove(preference);
-            if (mAttachedToActivity) {
-                preference.onDetachedFromActivity();
-            }
-            return success;
+            return mPreferenceList.remove(preference);
         }
     }
     
@@ -266,7 +262,7 @@
     protected boolean isOnSameScreenAsChildren() {
         return true;
     }
-
+    
     @Override
     protected void onAttachedToActivity() {
         super.onAttachedToActivity();
@@ -283,17 +279,11 @@
     }
 
     @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 73174e3..1a6b06f 100644
--- a/core/java/android/preference/PreferenceManager.java
+++ b/core/java/android/preference/PreferenceManager.java
@@ -519,9 +519,6 @@
      */
     boolean setPreferences(PreferenceScreen preferenceScreen) {
         if (preferenceScreen != mPreferenceScreen) {
-            if (mPreferenceScreen != null) {
-                mPreferenceScreen.onDetachedFromActivity();
-            }
             mPreferenceScreen = preferenceScreen;
             return true;
         }
@@ -830,11 +827,7 @@
      */
     void dispatchActivityDestroy() {
         List<OnActivityDestroyListener> list = null;
-
-        if (mPreferenceScreen != null) {
-            mPreferenceScreen.onDetachedFromActivity();
-            mPreferenceScreen = null;
-        }
+        
         synchronized (this) {
             if (mActivityDestroyListeners != null) {
                 list = new ArrayList<OnActivityDestroyListener>(mActivityDestroyListeners);