Make enter in home page dialog do the right thing

 Bug: 1204628

Change-Id: I4e12cd922f806b23c63292b159cd919ea4a259c1
diff --git a/src/com/android/browser/BrowserHomepagePreference.java b/src/com/android/browser/BrowserHomepagePreference.java
index 1e2697b..cbe5b0d 100644
--- a/src/com/android/browser/BrowserHomepagePreference.java
+++ b/src/com/android/browser/BrowserHomepagePreference.java
@@ -17,18 +17,24 @@
 package com.android.browser;
 
 import android.content.Context;
+import android.content.DialogInterface;
 import android.os.Bundle;
 import android.preference.EditTextPreference;
 import android.util.AttributeSet;
+import android.view.KeyEvent;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.view.ViewGroup;
 import android.view.Window;
 import android.view.WindowManager;
+import android.view.inputmethod.EditorInfo;
 import android.widget.EditText;
+import android.widget.TextView;
+import android.widget.TextView.OnEditorActionListener;
 
-public class BrowserHomepagePreference extends EditTextPreference {
+public class BrowserHomepagePreference extends EditTextPreference
+        implements OnEditorActionListener {
     private String mCurrentPage;
 
     public BrowserHomepagePreference(Context context, AttributeSet attrs,
@@ -49,11 +55,24 @@
             EditText editText) {
         super.onAddEditTextToDialogView(dialogView, editText);
         editText.setSelectAllOnFocus(true);
+        editText.setSingleLine(true);
+        editText.setImeActionLabel(null, EditorInfo.IME_ACTION_DONE);
+        editText.setOnEditorActionListener(this);
         // Now the EditText has a parent.  Add a button to set to the current
         // page.
         createButtons((ViewGroup) editText.getParent());
     }
 
+    @Override
+    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
+        if (actionId == EditorInfo.IME_ACTION_DONE) {
+            onClick(getDialog(), DialogInterface.BUTTON_POSITIVE);
+            getDialog().dismiss();
+            return true;
+        }
+        return false;
+    }
+
     void createButtons(ViewGroup parent) {
         LayoutInflater inflater = (LayoutInflater) getContext()
                 .getSystemService(Context.LAYOUT_INFLATER_SERVICE);