Move overflow menu and remove add contact button.

Add contact is now included as an item on the overflow menu..

Bug: 14471388
Change-Id: I4078b6f2b653dca5e42fb6088659ca059046c85c
diff --git a/res/menu/dialpad_options.xml b/res/menu/dialpad_options.xml
index 27a9b8a..c6b5dda 100644
--- a/res/menu/dialpad_options.xml
+++ b/res/menu/dialpad_options.xml
@@ -15,6 +15,11 @@
 -->
 <menu xmlns:android="http://schemas.android.com/apk/res/android">
     <item
+        android:id="@+id/menu_add_contact"
+        android:title="@string/add_contact"
+        android:showAsAction="withText"
+        android:orderInCategory="1" />
+    <item
         android:id="@+id/menu_2s_pause"
         android:title="@string/add_2sec_pause"
         android:showAsAction="withText"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 47c3563..ecf190a 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -322,6 +322,7 @@
     <string name="menu_show_all_calls">Show all calls</string>
 
     <!-- Menu items for dialpad options as part of Pause and Wait ftr -->
+    <string name="add_contact">Add contact</string>
     <string name="add_2sec_pause">Add 2-sec pause</string>
     <string name="add_wait">Add wait</string>
 
diff --git a/src/com/android/dialer/dialpad/DialpadFragment.java b/src/com/android/dialer/dialpad/DialpadFragment.java
index ba4ae7b..a915dc1 100644
--- a/src/com/android/dialer/dialpad/DialpadFragment.java
+++ b/src/com/android/dialer/dialpad/DialpadFragment.java
@@ -175,7 +175,6 @@
     /** Remembers if we need to clear digits field when the screen is completely gone. */
     private boolean mClearDigitsOnStop;
 
-    private View mAddContactButton;
     private View mOverflowMenuButton;
     private View mDelete;
     private ToneGenerator mToneGenerator;
@@ -310,9 +309,10 @@
         if (isDigitsEmpty()) {
             mDigitsFilledByIntent = false;
             mDigits.setCursorVisible(false);
-            mAddContactButton.setVisibility(View.INVISIBLE);
+            // Set to INVISIBLE instead of GONE so that text (eg. "Type number to add") is centered.
+            mOverflowMenuButton.setVisibility(View.INVISIBLE);
         } else if (mDialpadView.canDigitsBeEdited()){
-            mAddContactButton.setVisibility(View.VISIBLE);
+            mOverflowMenuButton.setVisibility(View.VISIBLE);
         }
 
         if (mDialpadQueryListener != null) {
@@ -414,6 +414,11 @@
         mDialpadChooser = (ListView) fragmentView.findViewById(R.id.dialpadChooser);
         mDialpadChooser.setOnItemClickListener(this);
 
+        mOverflowMenuButton = mDialpadView.getOverflowMenuButton();
+        mOverflowMenuButton.setOnClickListener(this);
+        final PopupMenu overflowMenu = buildOptionsMenu(mOverflowMenuButton);
+        mOverflowMenuButton.setOnTouchListener(overflowMenu.getDragToOpenListener());
+
         return fragmentView;
     }
 
@@ -584,14 +589,6 @@
         // Long-pressing zero button will enter '+' instead.
         final DialpadKeyButton zero = (DialpadKeyButton) fragmentView.findViewById(R.id.zero);
         zero.setOnLongClickListener(this);
-
-        mAddContactButton = fragmentView.findViewById(R.id.dialpad_add_contact);
-        mAddContactButton.setOnClickListener(this);
-
-        mOverflowMenuButton = fragmentView.findViewById(R.id.dialpad_overflow);
-        mOverflowMenuButton.setOnClickListener(this);
-        final PopupMenu overflowMenu = buildOptionsMenu(mOverflowMenuButton);
-        mOverflowMenuButton.setOnTouchListener(overflowMenu.getDragToOpenListener());
     }
 
     @Override
@@ -901,12 +898,6 @@
                 }
                 return;
             }
-            case R.id.dialpad_add_contact: {
-                final CharSequence digits = mDigits.getText();
-                DialerUtils.startActivityWithErrorToast(getActivity(),
-                        DialtactsActivity.getAddNumberToContactIntent(digits));
-                return;
-            }
             case R.id.dialpad_overflow: {
                 buildOptionsMenu(view).show();
                 break;
@@ -1439,8 +1430,12 @@
 
     @Override
     public boolean onMenuItemClick(MenuItem item) {
-        // R.id.menu_add_contacts already has an add to contact intent populated by setupMenuItems
         switch (item.getItemId()) {
+            case R.id.menu_add_contact:
+                final CharSequence digits = mDigits.getText();
+                DialerUtils.startActivityWithErrorToast(getActivity(),
+                        DialtactsActivity.getAddNumberToContactIntent(digits));
+                return true;
             case R.id.menu_2s_pause:
                 updateDialString(PAUSE);
                 return true;