Remove contact tab.

- remove contact list tab on phone UI
- show search button instead of voice mail button
-- uses temporary assets
- remove some layout xml and have dimen values instead

Bug: 4691486
Change-Id: Iec028849fa65079ac7d76a64baf1590fd4537c37
diff --git a/res/drawable-hdpi/ic_dial_action_search.png b/res/drawable-hdpi/ic_dial_action_search.png
new file mode 100644
index 0000000..042eed0
--- /dev/null
+++ b/res/drawable-hdpi/ic_dial_action_search.png
Binary files differ
diff --git a/res/drawable-mdpi/ic_dial_action_search.png b/res/drawable-mdpi/ic_dial_action_search.png
new file mode 100644
index 0000000..101eeae
--- /dev/null
+++ b/res/drawable-mdpi/ic_dial_action_search.png
Binary files differ
diff --git a/res/layout-land/dialpad_fragment.xml b/res/layout-land/dialpad_fragment.xml
index fe9fb28..4dc87cc 100644
--- a/res/layout-land/dialpad_fragment.xml
+++ b/res/layout-land/dialpad_fragment.xml
@@ -28,13 +28,13 @@
     <!-- TODO: Use a textAppearance to control the display of the number -->
     <EditText android:id="@+id/digits"
         android:layout_width="match_parent"
-        android:layout_height="66dip"
-        android:layout_marginBottom="50dip"
+        android:layout_height="@dimen/dialpad_digits_height"
+        android:layout_marginBottom="@dimen/dialpad_digits_margin_bottom"
         android:layout_marginTop="1dip"
         android:gravity="center"
         android:maxLines="1"
         android:scrollHorizontally="true"
-        android:textSize="28sp"
+        android:textSize="@dimen/dialpad_digits_text_size"
         android:freezesText="true"
         android:background="@drawable/btn_dial_textfield"
         android:textColor="@color/dialer_button_text"
@@ -42,7 +42,7 @@
      />
 
     <!-- Horizontal row of buttons (Voicemail + DialButton + Delete.) -->
-    <include layout="@layout/voicemail_dial_delete" />
+    <include layout="@layout/dialpad_additional_buttons" />
 
     <!-- "Dialpad chooser" UI, shown only when the user brings up the
          Dialer while a call is already in progress.
diff --git a/res/layout-long-land/dialpad_fragment.xml b/res/layout-long-land/dialpad_fragment.xml
deleted file mode 100644
index f287741..0000000
--- a/res/layout-long-land/dialpad_fragment.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/top"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical"
->
-
-    <!-- Text field above the keypad where the digits are displayed.
-         It's type is set to PHONE (to put the keyboard in the right
-         config) in the java code.
-    -->
-    <!-- TODO: Use a textAppearance to control the display of the number -->
-    <EditText android:id="@+id/digits"
-        android:layout_width="match_parent"
-        android:layout_height="74dip"
-        android:layout_marginBottom="30dip"
-        android:layout_marginTop="1dip"
-        android:gravity="center"
-        android:maxLines="1"
-        android:scrollHorizontally="true"
-        android:textSize="34sp"
-        android:freezesText="true"
-        android:background="@drawable/btn_dial_textfield"
-        android:textColor="@color/dialer_button_text"
-        android:hint="@string/dialerKeyboardHintText"
-     />
-
-    <!-- Horizontal row of buttons (Voicemail + DialButton + Delete.) -->
-    <include layout="@layout/voicemail_dial_delete" />
-
-    <!-- "Dialpad chooser" UI, shown only when the user brings up the
-         Dialer while a call is already in progress.
-         When this UI is visible, the other Dialer elements
-         (the textfield and button) are hidden. -->
-    <ListView android:id="@+id/dialpadChooser"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:footerDividersEnabled="true"
-    />
-
-</LinearLayout>
diff --git a/res/layout-long/dialpad.xml b/res/layout-long/dialpad.xml
deleted file mode 100644
index 066392d..0000000
--- a/res/layout-long/dialpad.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Dialpad in the Contact app.
-     Tall screen version with taller buttons.
- -->
-
-<com.android.phone.ButtonGridLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/dialpad"
-    android:paddingLeft="7dp"
-    android:paddingRight="7dp"
-    android:paddingTop="6dp"
-    android:paddingBottom="6dp"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:layout_gravity="center_horizontal"
-    android:layout_weight="1"
->
-        <ImageButton android:id="@+id/one"
-            android:layout_width="88dp"
-            android:layout_height="58dp"
-            android:src="@drawable/dial_num_1_no_vm"
-            android:background="@drawable/btn_dial"
-            android:soundEffectsEnabled="false"
-            android:contentDescription="@string/description_image_button_one"
-        />
-
-        <ImageButton android:id="@+id/two"
-            android:layout_width="88dp"
-            android:layout_height="58dp"
-            android:src="@drawable/dial_num_2"
-            android:background="@drawable/btn_dial"
-            android:soundEffectsEnabled="false"
-            android:contentDescription="@string/description_image_button_two"
-        />
-
-        <ImageButton android:id="@+id/three"
-            android:layout_width="88dp"
-            android:layout_height="58dp"
-            android:src="@drawable/dial_num_3"
-            android:background="@drawable/btn_dial"
-            android:soundEffectsEnabled="false"
-            android:contentDescription="@string/description_image_button_three"
-        />
-
-        <ImageButton android:id="@+id/four"
-            android:layout_width="88dp"
-            android:layout_height="58dp"
-            android:src="@drawable/dial_num_4"
-            android:background="@drawable/btn_dial"
-            android:soundEffectsEnabled="false"
-            android:contentDescription="@string/description_image_button_four"
-        />
-
-        <ImageButton android:id="@+id/five"
-            android:layout_width="88dp"
-            android:layout_height="58dp"
-            android:src="@drawable/dial_num_5"
-            android:background="@drawable/btn_dial"
-            android:soundEffectsEnabled="false"
-            android:contentDescription="@string/description_image_button_five"
-        />
-
-        <ImageButton android:id="@+id/six"
-            android:layout_width="88dp"
-            android:layout_height="58dp"
-            android:src="@drawable/dial_num_6"
-            android:background="@drawable/btn_dial"
-            android:soundEffectsEnabled="false"
-            android:contentDescription="@string/description_image_button_six"
-        />
-
-        <ImageButton android:id="@+id/seven"
-            android:layout_width="88dp"
-            android:layout_height="58dp"
-            android:src="@drawable/dial_num_7"
-            android:background="@drawable/btn_dial"
-            android:soundEffectsEnabled="false"
-            android:contentDescription="@string/description_image_button_seven"
-        />
-
-        <ImageButton android:id="@+id/eight"
-            android:layout_width="88dp"
-            android:layout_height="58dp"
-            android:src="@drawable/dial_num_8"
-            android:background="@drawable/btn_dial"
-            android:soundEffectsEnabled="false"
-            android:contentDescription="@string/description_image_button_eight"
-        />
-
-        <ImageButton android:id="@+id/nine"
-            android:layout_width="88dp"
-            android:layout_height="58dp"
-            android:src="@drawable/dial_num_9"
-            android:background="@drawable/btn_dial"
-            android:soundEffectsEnabled="false"
-            android:contentDescription="@string/description_image_button_nine"
-        />
-
-        <ImageButton android:id="@+id/star"
-            android:layout_width="88dp"
-            android:layout_height="58dp"
-            android:src="@drawable/dial_num_star"
-            android:background="@drawable/btn_dial"
-            android:soundEffectsEnabled="false"
-            android:contentDescription="@string/description_image_button_star"
-        />
-
-        <ImageButton android:id="@+id/zero"
-            android:layout_width="88dp"
-            android:layout_height="58dp"
-            android:src="@drawable/dial_num_0"
-            android:background="@drawable/btn_dial"
-            android:soundEffectsEnabled="false"
-            android:contentDescription="@string/description_image_button_zero"
-        />
-
-        <ImageButton android:id="@+id/pound"
-            android:layout_width="88dp"
-            android:layout_height="58dp"
-            android:src="@drawable/dial_num_pound"
-            android:background="@drawable/btn_dial"
-            android:soundEffectsEnabled="false"
-            android:contentDescription="@string/description_image_button_pound"
-        />
-</com.android.phone.ButtonGridLayout>
diff --git a/res/layout-long/dialpad_fragment.xml b/res/layout-long/dialpad_fragment.xml
deleted file mode 100644
index 85250e2..0000000
--- a/res/layout-long/dialpad_fragment.xml
+++ /dev/null
@@ -1,64 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- TODO (stopship) We don't want to specify a background color here. For now we just
-keep it because otherwise the dialer needs some imagination to use (white on white) -->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/top"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:orientation="vertical"
-    android:background="@android:color/black"
->
-
-    <!-- Text field above the keypad where the digits are displayed.
-         It's type is set to NULL (to disable the IME keyboard) in the
-         java code.
-    -->
-    <!-- TODO: Use a textAppearance to control the display of the number -->
-    <EditText android:id="@+id/digits"
-        android:layout_width="match_parent"
-        android:layout_height="74dip"
-        android:gravity="center"
-        android:maxLines="1"
-        android:scrollHorizontally="true"
-        android:textSize="34sp"
-        android:freezesText="true"
-        android:background="@drawable/btn_dial_textfield"
-        android:textColor="@color/dialer_button_text"
-        android:focusableInTouchMode="true"
-        android:editable="true"
-        android:cursorVisible="false"
-        android:layout_weight="0"
-    />
-
-    <!-- Keypad section -->
-    <include layout="@layout/dialpad" />
-
-    <!-- Horizontal row of buttons (Voicemail + DialButton + Delete.) -->
-    <include layout="@layout/voicemail_dial_delete" />
-
-    <!-- "Dialpad chooser" UI, shown only when the user brings up the
-         Dialer while a call is already in progress.
-         When this UI is visible, the other Dialer elements
-         (the textfield/button and the dialpad) are hidden. -->
-    <ListView android:id="@+id/dialpadChooser"
-        android:layout_width="match_parent"
-        android:layout_height="1dip"
-        android:layout_weight="1"
-    />
-
-</LinearLayout>
diff --git a/res/layout-long/voicemail_dial_delete.xml b/res/layout-long/voicemail_dial_delete.xml
deleted file mode 100644
index 23ff289..0000000
--- a/res/layout-long/voicemail_dial_delete.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<!-- Horizontal row of buttons (Voicemail + DialButton + Delete.)
-     Tall screen version with taller buttons.
- -->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/voicemailAndDialAndDelete"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
-    android:layout_gravity="center_horizontal"
-    android:layout_weight="2.5"
-    android:orientation="horizontal">
-
-    <!-- Onscreen "Voicemail" button.
-         The width is 75 (from the mocks) + 12 of padding from the
-         9patch, total is 87.
-    -->
-    <ImageButton android:id="@+id/voicemailButton"
-        android:layout_width="87dip"
-        android:layout_height="58dip"
-        android:layout_gravity="center_vertical"
-        android:state_enabled="false"
-        android:background="@drawable/btn_dial_voicemail"
-        android:contentDescription="@string/description_voicemail_button"
-        android:src="@drawable/ic_dial_action_voice_mail" />
-
-    <!-- Onscreen "Dial" button, used on all platforms by
-         default. Its usage can be disabled using resources (see
-         config.xml.) -->
-    <ImageButton android:id="@+id/dialButton"
-        android:layout_width="116dip"
-        android:layout_height="58dip"
-        android:layout_gravity="center_vertical"
-        android:state_enabled="false"
-        android:background="@drawable/btn_dial_action"
-        android:contentDescription="@string/description_dial_button"
-        android:src="@drawable/ic_dial_action_call" />
-
-    <!-- Onscreen "Backspace/Delete" button
-         The width is 75 (from the mocks) + 12 of padding from the
-         9patch, total is 87.
-    -->
-    <ImageButton android:id="@+id/deleteButton"
-        android:layout_width="87dip"
-        android:layout_height="58dip"
-        android:layout_gravity="center_vertical"
-        android:state_enabled="false"
-        android:background="@drawable/btn_dial_delete"
-        android:contentDescription="@string/description_delete_button"
-        android:src="@drawable/ic_dial_action_delete" />
-</LinearLayout>
-
diff --git a/res/layout/dialpad.xml b/res/layout/dialpad.xml
index 2c14877..50bc2a9 100644
--- a/res/layout/dialpad.xml
+++ b/res/layout/dialpad.xml
@@ -14,9 +14,7 @@
      limitations under the License.
 -->
 
-<!-- Dialpad in the Contact app.
- -->
-
+<!-- Dialpad in the Phone app. -->
 <com.android.phone.ButtonGridLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/dialpad"
     android:paddingLeft="7dp"
@@ -26,11 +24,11 @@
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_gravity="center_horizontal"
-    android:layout_weight="1"
->
+    android:layout_weight="1">
+
         <ImageButton android:id="@+id/one"
             android:layout_width="88dp"
-            android:layout_height="50dp"
+            android:layout_height="@dimen/dialpad_button_height"
             android:src="@drawable/dial_num_1_no_vm"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
@@ -39,7 +37,7 @@
 
         <ImageButton android:id="@+id/two"
             android:layout_width="88dp"
-            android:layout_height="50dp"
+            android:layout_height="@dimen/dialpad_button_height"
             android:src="@drawable/dial_num_2"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
@@ -48,7 +46,7 @@
 
         <ImageButton android:id="@+id/three"
             android:layout_width="88dp"
-            android:layout_height="50dp"
+            android:layout_height="@dimen/dialpad_button_height"
             android:src="@drawable/dial_num_3"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
@@ -57,7 +55,7 @@
 
         <ImageButton android:id="@+id/four"
             android:layout_width="88dp"
-            android:layout_height="50dp"
+            android:layout_height="@dimen/dialpad_button_height"
             android:src="@drawable/dial_num_4"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
@@ -66,7 +64,7 @@
 
         <ImageButton android:id="@+id/five"
             android:layout_width="88dp"
-            android:layout_height="50dp"
+            android:layout_height="@dimen/dialpad_button_height"
             android:src="@drawable/dial_num_5"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
@@ -75,7 +73,7 @@
 
         <ImageButton android:id="@+id/six"
             android:layout_width="88dp"
-            android:layout_height="50dp"
+            android:layout_height="@dimen/dialpad_button_height"
             android:src="@drawable/dial_num_6"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
@@ -84,7 +82,7 @@
 
         <ImageButton android:id="@+id/seven"
             android:layout_width="88dp"
-            android:layout_height="50dp"
+            android:layout_height="@dimen/dialpad_button_height"
             android:src="@drawable/dial_num_7"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
@@ -93,7 +91,7 @@
 
         <ImageButton android:id="@+id/eight"
             android:layout_width="88dp"
-            android:layout_height="50dp"
+            android:layout_height="@dimen/dialpad_button_height"
             android:src="@drawable/dial_num_8"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
@@ -102,7 +100,7 @@
 
         <ImageButton android:id="@+id/nine"
             android:layout_width="88dp"
-            android:layout_height="50dp"
+            android:layout_height="@dimen/dialpad_button_height"
             android:src="@drawable/dial_num_9"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
@@ -111,7 +109,7 @@
 
         <ImageButton android:id="@+id/star"
             android:layout_width="88dp"
-            android:layout_height="50dp"
+            android:layout_height="@dimen/dialpad_button_height"
             android:src="@drawable/dial_num_star"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
@@ -120,7 +118,7 @@
 
         <ImageButton android:id="@+id/zero"
             android:layout_width="88dp"
-            android:layout_height="50dp"
+            android:layout_height="@dimen/dialpad_button_height"
             android:src="@drawable/dial_num_0"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
@@ -129,7 +127,7 @@
 
         <ImageButton android:id="@+id/pound"
             android:layout_width="88dp"
-            android:layout_height="50dp"
+            android:layout_height="@dimen/dialpad_button_height"
             android:src="@drawable/dial_num_pound"
             android:background="@drawable/btn_dial"
             android:soundEffectsEnabled="false"
diff --git a/res/layout/voicemail_dial_delete.xml b/res/layout/dialpad_additional_buttons.xml
similarity index 68%
rename from res/layout/voicemail_dial_delete.xml
rename to res/layout/dialpad_additional_buttons.xml
index 384981c..a35fae6 100644
--- a/res/layout/voicemail_dial_delete.xml
+++ b/res/layout/dialpad_additional_buttons.xml
@@ -16,46 +16,43 @@
 
 <!-- Horizontal row of buttons (Voicemail + DialButton + Delete.) -->
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/voicemailAndDialAndDelete"
-    android:layout_width="wrap_content"
-    android:layout_height="wrap_content"
+    android:id="@+id/dialpadAdditionalButtons"
+    android:layout_width="match_parent"
+    android:layout_height="@dimen/dialpad_additional_buttons_height"
     android:layout_gravity="center_horizontal"
     android:layout_marginTop="6dip"
-    android:layout_weight="1"
+    android:layout_weight="0.25"
     android:orientation="horizontal">
 
-    <!-- Onscreen "Voicemail" button.
-         The width is 75 (from the mocks) + 12 of padding from the
-         9patch, total is 87.
-    -->
-    <ImageButton android:id="@+id/voicemailButton"
-        android:layout_width="87dip"
-        android:layout_height="50dip"
+    <!-- Onscreen "Search button -->
+    <ImageButton android:id="@+id/searchButton"
+        android:layout_width="0px"
+        android:layout_weight="0.25"
+        android:layout_height="match_parent"
         android:layout_gravity="center_vertical"
         android:state_enabled="false"
         android:background="@drawable/btn_dial_voicemail"
         android:contentDescription="@string/description_voicemail_button"
-        android:src="@drawable/ic_dial_action_voice_mail" />
+        android:src="@drawable/ic_dial_action_search" />
 
-    <!-- Onscreen "Dial" button, used on all platforms by
+    <!-- Onscreen "Dial" button, diused on all platforms by
          default. Its usage can be disabled using resources (see
          config.xml.) -->
     <ImageButton android:id="@+id/dialButton"
-        android:layout_width="116dip"
-        android:layout_height="50dip"
+        android:layout_width="0px"
+        android:layout_weight="0.50"
+        android:layout_height="match_parent"
         android:layout_gravity="center_vertical"
         android:state_enabled="false"
         android:background="@drawable/btn_dial_action"
         android:contentDescription="@string/description_dial_button"
         android:src="@drawable/ic_dial_action_call" />
 
-    <!-- Onscreen "Backspace/Delete" button
-         The width is 75 (from the mocks) + 12 of padding from the
-         9patch, total is 87.
-    -->
+    <!-- Onscreen "Backspace/Delete" button -->
     <ImageButton android:id="@+id/deleteButton"
-        android:layout_width="87dip"
-        android:layout_height="50dip"
+        android:layout_width="0px"
+        android:layout_weight="0.25"
+        android:layout_height="match_parent"
         android:layout_gravity="center_vertical"
         android:state_enabled="false"
         android:background="@drawable/btn_dial_delete"
diff --git a/res/layout/dialpad_fragment.xml b/res/layout/dialpad_fragment.xml
index c516bd8..7601dfe 100644
--- a/res/layout/dialpad_fragment.xml
+++ b/res/layout/dialpad_fragment.xml
@@ -14,8 +14,6 @@
      limitations under the License.
 -->
 
-<!-- TODO (stopship) We don't want to specify a background color here. For now we just
-keep it because otherwise the dialer needs some imagination to use (white on white) -->
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/top"
     android:layout_width="match_parent"
@@ -28,29 +26,17 @@
          It's type is set to NULL (to disable the IME keyboard) in the
          java code.
     -->
-    <!-- TODO: Use a textAppearance to control the display of the number -->
     <EditText android:id="@+id/digits"
         android:layout_width="match_parent"
-        android:layout_height="67dip"
+        android:layout_height="@dimen/dialpad_digits_height"
         android:gravity="center"
-        android:maxLines="1"
-        android:scrollHorizontally="true"
-        android:textSize="33sp"
-        android:freezesText="true"
-        android:background="@drawable/btn_dial_textfield"
-        android:textColor="@color/dialer_button_text"
-        android:focusableInTouchMode="true"
-        android:editable="true"
-        android:cursorVisible="false"
-        android:layout_weight="0"
-        android:contentDescription="@string/description_digits_edittext"
-    />
+        android:textAppearance="@style/DialtactsDigitsTextAppearance" />
 
     <!-- Keypad section -->
     <include layout="@layout/dialpad" />
 
     <!-- Horizontal row of buttons (Voicemail + DialButton + Delete.) -->
-    <include layout="@layout/voicemail_dial_delete" />
+    <include layout="@layout/dialpad_additional_buttons" />
 
     <!-- "Dialpad chooser" UI, shown only when the user brings up the
          Dialer while a call is already in progress.
diff --git a/res/layout/dialtacts_activity.xml b/res/layout/dialtacts_activity.xml
index 675dcdb..445a332 100644
--- a/res/layout/dialtacts_activity.xml
+++ b/res/layout/dialtacts_activity.xml
@@ -32,13 +32,6 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent" />
 
-    <!-- Contacts -->
-    <fragment
-        android:id="@+id/contacts_fragment"
-        class="com.android.contacts.list.DefaultContactBrowseListFragment"
-        android:layout_height="match_parent"
-        android:layout_width="match_parent" />
-
     <!-- Favorites -->
     <fragment
         android:id="@+id/favorites_fragment"
diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml
new file mode 100644
index 0000000..841eb75
--- /dev/null
+++ b/res/values-land/dimens.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources>
+    <dimen name="dialpad_digits_height">66dip</dimen>
+    <dimen name="dialpad_digits_text_size">28sp</dimen>
+    <dimen name="dialpad_digits_margin_top">1dip</dimen>
+    <dimen name="dialpad_digits_margin_bottom">50dip</dimen>
+</resources>
diff --git a/res/values-long-land/dimens.xml b/res/values-long-land/dimens.xml
new file mode 100644
index 0000000..2046eb0
--- /dev/null
+++ b/res/values-long-land/dimens.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources>
+    <dimen name="dialpad_digits_margin_bottom">30dip</dimen>
+    <dimen name="dialpad_digits_text_size">34sp</dimen>
+</resources>
diff --git a/res/values-long/dimens.xml b/res/values-long/dimens.xml
new file mode 100644
index 0000000..9208e4b
--- /dev/null
+++ b/res/values-long/dimens.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+<resources>
+    <dimen name="dialpad_digits_height">74dip</dimen>
+    <dimen name="dialpad_additional_buttons_height">58dip</dimen>
+    <dimen name="dialpad_button_height">58dip</dimen>
+</resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 3e5b554..a9be1bd 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -162,4 +162,14 @@
 
     <!-- Height for directory headers in contact lists -->
     <dimen name="directory_header_height">28dip</dimen>
+
+    <!-- Height of edit text in dialpad fragment -->
+    <dimen name="dialpad_digits_height">67dip</dimen>
+    <dimen name="dialpad_digits_text_size">33sp</dimen>
+    <dimen name="dialpad_additional_buttons_height">50dip</dimen>
+    <dimen name="dialpad_button_height">50dip</dimen>
+    <!-- Just used in landscape mode -->
+    <dimen name="dialpad_digits_margin_top">1dip</dimen>
+    <!-- Just used in landscape mode -->
+    <dimen name="dialpad_digits_margin_bottom">50dip</dimen>
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 51d8a0d..6a79817 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -287,4 +287,19 @@
     <style name="GroupBrowseListItem">
         <item name="android:paddingRight">20dip</item>
     </style>
+
+    <style name="DialtactsDigitsTextAppearance"
+           parent="@android:attr/textAppearanceMedium">
+        <item name="android:maxLines">1</item>
+        <item name="android:scrollHorizontally">true</item>
+        <item name="android:textSize">@dimen/dialpad_digits_text_size</item>
+        <item name="android:freezesText">true</item>
+        <item name="android:textColor">@color/dialer_button_text</item>
+        <item name="android:background">@drawable/btn_dial_textfield</item>
+        <item name="android:focusableInTouchMode">true</item>
+        <item name="android:editable">true</item>
+        <item name="android:cursorVisible">false</item>
+        <item name="android:layout_weight">0</item>
+    </style>
+
 </resources>
diff --git a/src/com/android/contacts/activities/DialtactsActivity.java b/src/com/android/contacts/activities/DialtactsActivity.java
index ab54960..d1b0c23 100644
--- a/src/com/android/contacts/activities/DialtactsActivity.java
+++ b/src/com/android/contacts/activities/DialtactsActivity.java
@@ -74,15 +74,14 @@
 
     private static final int TAB_INDEX_DIALER = 0;
     private static final int TAB_INDEX_CALL_LOG = 1;
-    private static final int TAB_INDEX_CONTACTS = 2;
-    private static final int TAB_INDEX_FAVORITES = 3;
+    private static final int TAB_INDEX_FAVORITES = 2;
+
+    private static final int TAB_INDEX_COUNT = 3;
 
     public static final String EXTRA_IGNORE_STATE = "ignore-state";
 
     /** Name of the dialtacts shared preferences */
     static final String PREFS_DIALTACTS = "dialtacts";
-    /** If true, when handling the contacts intent the favorites tab will be shown instead */
-    static final String PREF_FAVORITES_AS_CONTACTS = "favorites_as_contacts";
     static final boolean PREF_FAVORITES_AS_CONTACTS_DEFAULT = false;
 
     /** Last manually selected tab index */
@@ -188,6 +187,12 @@
         final FragmentManager fragmentManager = getFragmentManager();
         mDialpadFragment = (DialpadFragment) fragmentManager
                 .findFragmentById(R.id.dialpad_fragment);
+        mDialpadFragment.setListener(new DialpadFragment.Listener() {
+            @Override
+            public void onSearchButtonPressed() {
+                enterSearchUi();
+            }
+        });
         mCallLogFragment = (CallLogFragment) fragmentManager
                 .findFragmentById(R.id.call_log_fragment);
         mContactsFragment = (DefaultContactBrowseListFragment) fragmentManager
@@ -203,7 +208,6 @@
         final FragmentTransaction transaction = fragmentManager.beginTransaction();
         transaction.hide(mDialpadFragment);
         transaction.hide(mCallLogFragment);
-        transaction.hide(mContactsFragment);
         transaction.hide(mStrequentFragment);
         transaction.hide(mPhoneNumberPickerFragment);
         transaction.commit();
@@ -211,7 +215,6 @@
         // Setup the ActionBar tabs (the order matches the tab-index contants TAB_INDEX_*)
         setupDialer();
         setupCallLog();
-        setupContacts();
         setupFavorites();
         getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
         getActionBar().setDisplayShowTitleEnabled(false);
@@ -221,6 +224,10 @@
         final SharedPreferences prefs = getSharedPreferences(PREFS_DIALTACTS, MODE_PRIVATE);
         mLastManuallySelectedTab = prefs.getInt(PREF_LAST_MANUALLY_SELECTED_TAB,
                 PREF_LAST_MANUALLY_SELECTED_TAB_DEFAULT);
+        if (mLastManuallySelectedTab >= TAB_INDEX_COUNT) {
+            // Stored value may have exceeded the number of current tabs. Reset it.
+            mLastManuallySelectedTab = PREF_LAST_MANUALLY_SELECTED_TAB_DEFAULT;
+        }
 
         setCurrentTab(intent);
 
@@ -236,15 +243,6 @@
 
         final SharedPreferences.Editor editor =
                 getSharedPreferences(PREFS_DIALTACTS, MODE_PRIVATE).edit();
-        // selectedTab becomes null in search UI.
-        final Tab selectedTab = getActionBar().getSelectedTab();
-        if (selectedTab != null) {
-            final int currentTabIndex = selectedTab.getPosition();
-            if (currentTabIndex == TAB_INDEX_CONTACTS || currentTabIndex == TAB_INDEX_FAVORITES) {
-                editor.putBoolean(
-                        PREF_FAVORITES_AS_CONTACTS, currentTabIndex == TAB_INDEX_FAVORITES);
-            }
-        }
         editor.putInt(PREF_LAST_MANUALLY_SELECTED_TAB, mLastManuallySelectedTab);
 
         editor.apply();
@@ -589,7 +587,7 @@
         final Tab tab = actionBar.getSelectedTab();
         if (tab == null) return false;
         final int tabIndex = tab.getPosition();
-        if (tabIndex != TAB_INDEX_CONTACTS && tabIndex != TAB_INDEX_FAVORITES) return false;
+        if (tabIndex != TAB_INDEX_FAVORITES) return false;
 
         MenuInflater inflater = getMenuInflater();
         inflater.inflate(R.menu.list, menu);
@@ -680,7 +678,6 @@
         transaction.show(mPhoneNumberPickerFragment);
         transaction.hide(mDialpadFragment);
         transaction.hide(mCallLogFragment);
-        transaction.hide(mContactsFragment);
         transaction.hide(mStrequentFragment);
         transaction.commit();
 
diff --git a/src/com/android/contacts/dialpad/DialpadFragment.java b/src/com/android/contacts/dialpad/DialpadFragment.java
index 58ffb9e..778fe42 100644
--- a/src/com/android/contacts/dialpad/DialpadFragment.java
+++ b/src/com/android/contacts/dialpad/DialpadFragment.java
@@ -20,6 +20,7 @@
 import com.android.contacts.R;
 import com.android.contacts.SpecialCharSequenceMgr;
 import com.android.contacts.activities.DialtactsActivity;
+import com.android.contacts.list.StrequentContactListFragment.Listener;
 import com.android.internal.telephony.ITelephony;
 import com.android.phone.CallLogAsync;
 import com.android.phone.HapticFeedback;
@@ -87,6 +88,10 @@
     /** Stream type used to play the DTMF tones off call, and mapped to the volume control keys */
     private static final int DIAL_TONE_STREAM_TYPE = AudioManager.STREAM_MUSIC;
 
+    public interface Listener {
+        public void onSearchButtonPressed();
+    }
+
     private EditText mDigits;
     private View mDelete;
     private MenuItem mAddToContactMenuItem;
@@ -95,8 +100,11 @@
     private Drawable mDigitsBackground;
     private Drawable mDigitsEmptyBackground;
     private View mDialpad;
-    private View mVoicemailDialAndDeleteRow;
-    private View mVoicemailButton;
+    private View mAdditionalButtonsRow;
+
+    private View mSearchButton;
+    private Listener mListener;
+
     private View mDialButton;
     private ListView mDialpadChooser;
     private DialpadChooserAdapter mDialpadChooserAdapter;
@@ -107,6 +115,8 @@
     private static final int MENU_2S_PAUSE = 2;
     private static final int MENU_WAIT = 3;
 
+    private boolean mHasVoicemail = false;
+
     // Last number dialed, retrieved asynchronously from the call DB
     // in onCreate. This number is displayed when the user hits the
     // send key and cleared in onPause.
@@ -227,12 +237,17 @@
             setupKeypad(fragmentView);
         }
 
-        mVoicemailDialAndDeleteRow = fragmentView.findViewById(R.id.voicemailAndDialAndDelete);
+        mAdditionalButtonsRow = fragmentView.findViewById(R.id.dialpadAdditionalButtons);
 
         initVoicemailButton();
 
+        mSearchButton = mAdditionalButtonsRow.findViewById(R.id.searchButton);
+        if (mSearchButton != null) {
+            mSearchButton.setOnClickListener(this);
+        }
+
         // Check whether we should show the onscreen "Dial" button.
-        mDialButton = mVoicemailDialAndDeleteRow.findViewById(R.id.dialButton);
+        mDialButton = mAdditionalButtonsRow.findViewById(R.id.dialButton);
 
         if (r.getBoolean(R.bool.config_show_onscreen_dial_button)) {
             mDialButton.setOnClickListener(this);
@@ -241,7 +256,7 @@
             mDialButton = null;
         }
 
-        mDelete = mVoicemailDialAndDeleteRow.findViewById(R.id.deleteButton);
+        mDelete = mAdditionalButtonsRow.findViewById(R.id.deleteButton);
         mDelete.setOnClickListener(this);
         mDelete.setOnLongClickListener(this);
 
@@ -666,9 +681,10 @@
                 dialButtonPressed();
                 return;
             }
-            case R.id.voicemailButton: {
-                callVoicemail();
-                mHaptic.vibrate();
+            case R.id.searchButton: {
+                if (mListener != null) {
+                    mListener.onSearchButtonPressed();
+                }
                 return;
             }
             case R.id.digits: {
@@ -693,7 +709,7 @@
                 return true;
             }
             case R.id.one: {
-                if (isDigitsEmpty()) {
+                if (mHasVoicemail && isDigitsEmpty()) {
                     callVoicemail();
                     return true;
                 }
@@ -821,7 +837,7 @@
             // Log.i(TAG, "Showing dialpad chooser!");
             mDigits.setVisibility(View.GONE);
             if (mDialpad != null) mDialpad.setVisibility(View.GONE);
-            mVoicemailDialAndDeleteRow.setVisibility(View.GONE);
+            mAdditionalButtonsRow.setVisibility(View.GONE);
             mDialpadChooser.setVisibility(View.VISIBLE);
 
             // Instantiate the DialpadChooserAdapter and hook it up to the
@@ -834,7 +850,7 @@
             // Log.i(TAG, "Displaying normal Dialer UI.");
             mDigits.setVisibility(View.VISIBLE);
             if (mDialpad != null) mDialpad.setVisibility(View.VISIBLE);
-            mVoicemailDialAndDeleteRow.setVisibility(View.VISIBLE);
+            mAdditionalButtonsRow.setVisibility(View.VISIBLE);
             mDialpadChooser.setVisibility(View.GONE);
         }
     }
@@ -1122,19 +1138,11 @@
      * Check if voicemail is enabled/accessible.
      */
     private void initVoicemailButton() {
-        boolean hasVoicemail = false;
         try {
-            hasVoicemail = TelephonyManager.getDefault().getVoiceMailNumber() != null;
+            mHasVoicemail = TelephonyManager.getDefault().getVoiceMailNumber() != null;
         } catch (SecurityException se) {
             // Possibly no READ_PHONE_STATE privilege.
         }
-
-        mVoicemailButton = mVoicemailDialAndDeleteRow.findViewById(R.id.voicemailButton);
-        if (hasVoicemail) {
-            mVoicemailButton.setOnClickListener(this);
-        } else {
-            mVoicemailButton.setEnabled(false);
-        }
     }
 
     /**
@@ -1213,4 +1221,8 @@
         intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         return intent;
     }
+
+    public void setListener(Listener listener) {
+        mListener = listener;
+    }
 }