Remove APIs for controlling EditText dialogs

Developers should simply specify a dialog layout instead,
and/or exercise extra control in onCreateDialogView or
onBindDialogView.

b/23939574

Change-Id: I4787998f07117f3b955860713da65e1cb8076ed4
diff --git a/v14/preference/api/current.txt b/v14/preference/api/current.txt
index cbf8fe5..fed4623 100644
--- a/v14/preference/api/current.txt
+++ b/v14/preference/api/current.txt
@@ -3,7 +3,6 @@
   public class EditTextPreferenceDialogFragment extends android.support.v14.preference.PreferenceDialogFragment {
     ctor public EditTextPreferenceDialogFragment();
     method public static android.support.v14.preference.EditTextPreferenceDialogFragment newInstance(java.lang.String);
-    method protected void onAddEditTextToDialogView(android.view.View, android.widget.EditText);
     method public void onDialogClosed(boolean);
   }
 
diff --git a/v14/preference/src/android/support/v14/preference/EditTextPreferenceDialogFragment.java b/v14/preference/src/android/support/v14/preference/EditTextPreferenceDialogFragment.java
index caf08a8..498b874 100644
--- a/v14/preference/src/android/support/v14/preference/EditTextPreferenceDialogFragment.java
+++ b/v14/preference/src/android/support/v14/preference/EditTextPreferenceDialogFragment.java
@@ -19,8 +19,6 @@
 import android.os.Bundle;
 import android.support.v7.preference.EditTextPreference;
 import android.view.View;
-import android.view.ViewGroup;
-import android.view.ViewParent;
 import android.widget.EditText;
 
 public class EditTextPreferenceDialogFragment extends PreferenceDialogFragment {
@@ -40,19 +38,14 @@
     protected void onBindDialogView(View view) {
         super.onBindDialogView(view);
 
-        mEditText = new EditText(view.getContext());
-        // Give it an ID so it can be saved/restored
-        mEditText.setId(android.R.id.edit);
+        mEditText = (EditText) view.findViewById(android.R.id.edit);
+
+        if (mEditText == null) {
+            throw new IllegalStateException("Dialog view must contain an EditText with id" +
+                    " @android:id/edit");
+        }
 
         mEditText.setText(getEditTextPreference().getText());
-
-        ViewParent oldParent = mEditText.getParent();
-        if (oldParent != view) {
-            if (oldParent != null) {
-                ((ViewGroup) oldParent).removeView(mEditText);
-            }
-            onAddEditTextToDialogView(view, mEditText);
-        }
     }
 
     private EditTextPreference getEditTextPreference() {
@@ -66,20 +59,6 @@
         return true;
     }
 
-    /**
-     * Adds the EditText widget of this preference to the dialog's view.
-     *
-     * @param dialogView The dialog view.
-     */
-    protected void onAddEditTextToDialogView(View dialogView, EditText editText) {
-        ViewGroup container = (ViewGroup) dialogView
-                .findViewById(R.id.edittext_container);
-        if (container != null) {
-            container.addView(editText, ViewGroup.LayoutParams.FILL_PARENT,
-                    ViewGroup.LayoutParams.WRAP_CONTENT);
-        }
-    }
-
     @Override
     public void onDialogClosed(boolean positiveResult) {
 
diff --git a/v7/preference/api/current.txt b/v7/preference/api/current.txt
index 6ab53c5..7d7aeb1 100644
--- a/v7/preference/api/current.txt
+++ b/v7/preference/api/current.txt
@@ -47,7 +47,6 @@
   public class EditTextPreferenceDialogFragmentCompat extends android.support.v7.preference.PreferenceDialogFragmentCompat {
     ctor public EditTextPreferenceDialogFragmentCompat();
     method public static android.support.v7.preference.EditTextPreferenceDialogFragmentCompat newInstance(java.lang.String);
-    method protected void onAddEditTextToDialogView(android.view.View, android.widget.EditText);
     method public void onDialogClosed(boolean);
   }
 
diff --git a/v7/preference/res/layout/preference_dialog_edittext.xml b/v7/preference/res/layout/preference_dialog_edittext.xml
index 527a7de..9fbf2b7 100644
--- a/v7/preference/res/layout/preference_dialog_edittext.xml
+++ b/v7/preference/res/layout/preference_dialog_edittext.xml
@@ -23,7 +23,6 @@
     android:overScrollMode="ifContentScrolls">
 
   <LinearLayout
-      android:id="@+id/edittext_container"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:padding="5dip"
@@ -36,6 +35,11 @@
         android:layout_height="wrap_content"
         android:textColor="?android:attr/textColorSecondary" />
 
+      <EditText
+          android:id="@android:id/edit"
+          android:layout_width="match_parent"
+          android:layout_height="wrap_content" />
+
   </LinearLayout>
 
 </ScrollView>
diff --git a/v7/preference/src/android/support/v7/preference/EditTextPreferenceDialogFragmentCompat.java b/v7/preference/src/android/support/v7/preference/EditTextPreferenceDialogFragmentCompat.java
index 182cf28..6e7663c 100644
--- a/v7/preference/src/android/support/v7/preference/EditTextPreferenceDialogFragmentCompat.java
+++ b/v7/preference/src/android/support/v7/preference/EditTextPreferenceDialogFragmentCompat.java
@@ -18,8 +18,6 @@
 
 import android.os.Bundle;
 import android.view.View;
-import android.view.ViewGroup;
-import android.view.ViewParent;
 import android.widget.EditText;
 
 public class EditTextPreferenceDialogFragmentCompat extends PreferenceDialogFragmentCompat {
@@ -39,19 +37,14 @@
     protected void onBindDialogView(View view) {
         super.onBindDialogView(view);
 
-        mEditText = new EditText(view.getContext());
-        // Give it an ID so it can be saved/restored
-        mEditText.setId(android.R.id.edit);
+        mEditText = (EditText) view.findViewById(android.R.id.edit);
+
+        if (mEditText == null) {
+            throw new IllegalStateException("Dialog view must contain an EditText with id" +
+                    " @android:id/edit");
+        }
 
         mEditText.setText(getEditTextPreference().getText());
-
-        ViewParent oldParent = mEditText.getParent();
-        if (oldParent != view) {
-            if (oldParent != null) {
-                ((ViewGroup) oldParent).removeView(mEditText);
-            }
-            onAddEditTextToDialogView(view, mEditText);
-        }
     }
 
     private EditTextPreference getEditTextPreference() {
@@ -65,20 +58,6 @@
         return true;
     }
 
-    /**
-     * Adds the EditText widget of this preference to the dialog's view.
-     *
-     * @param dialogView The dialog view.
-     */
-    protected void onAddEditTextToDialogView(View dialogView, EditText editText) {
-        ViewGroup container = (ViewGroup) dialogView
-                .findViewById(R.id.edittext_container);
-        if (container != null) {
-            container.addView(editText, ViewGroup.LayoutParams.FILL_PARENT,
-                    ViewGroup.LayoutParams.WRAP_CONTENT);
-        }
-    }
-
     @Override
     public void onDialogClosed(boolean positiveResult) {