Fix dialpad layout in landscape mode

Made the necessary adjustments so that the landscape dialpad matches
the mocks. Also ensured that large text mode does not break any
of the layouts, as far as possible.

Bug: 15859030
Change-Id: I23bb426f46d9c1d4a9436e9e02b64fac88a41d7c
diff --git a/res/layout-land/dialpad_key_one.xml b/res/layout-land/dialpad_key_one.xml
index d5ec1be..c7c3117 100644
--- a/res/layout-land/dialpad_key_one.xml
+++ b/res/layout-land/dialpad_key_one.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2006 The Android Open Source Project
+<!-- Copyright (C) 2014 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.
diff --git a/res/layout-land/dialpad_key_pound.xml b/res/layout-land/dialpad_key_pound.xml
new file mode 100644
index 0000000..73321af
--- /dev/null
+++ b/res/layout-land/dialpad_key_pound.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 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.
+-->
+<com.android.phone.common.dialpad.DialpadKeyButton
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/pound"
+    style="@style/DialpadKeyButtonStyle">
+    <LinearLayout
+        android:orientation="horizontal"
+        android:layout_gravity="center_vertical|right"
+        style="@style/DialpadKeyInternalLayoutStyle" >
+        <com.android.phone.common.dialpad.DialpadTextView
+            android:id="@id/dialpad_key_number"
+            android:layout_width="@dimen/dialpad_key_number_width"
+            android:layout_marginRight="@dimen/dialpad_key_margin_right"
+            style="@style/DialpadKeyPoundStyle" />
+        <View
+            android:layout_width="@dimen/dialpad_key_text_width"
+            style="@style/DialpadKeyLettersStyle" />
+    </LinearLayout>
+</com.android.phone.common.dialpad.DialpadKeyButton>
diff --git a/res/layout-land/dialpad_key_star.xml b/res/layout-land/dialpad_key_star.xml
new file mode 100644
index 0000000..33e11b7
--- /dev/null
+++ b/res/layout-land/dialpad_key_star.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 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.
+-->
+<com.android.phone.common.dialpad.DialpadKeyButton
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/star"
+    style="@style/DialpadKeyButtonStyle">
+    <LinearLayout
+        android:orientation="horizontal"
+        android:layout_gravity="center_vertical|right"
+        style="@style/DialpadKeyInternalLayoutStyle" >
+        <com.android.phone.common.dialpad.DialpadTextView
+            android:id="@id/dialpad_key_number"
+            android:layout_width="@dimen/dialpad_key_number_width"
+            android:layout_marginRight="@dimen/dialpad_key_margin_right"
+            style="@style/DialpadKeyStarStyle" />
+        <View
+            android:layout_width="@dimen/dialpad_key_text_width"
+            style="@style/DialpadKeyLettersStyle" />
+    </LinearLayout>
+</com.android.phone.common.dialpad.DialpadKeyButton>
diff --git a/res/layout-land/dialpad_key_zero.xml b/res/layout-land/dialpad_key_zero.xml
new file mode 100644
index 0000000..d5fcc18
--- /dev/null
+++ b/res/layout-land/dialpad_key_zero.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2014 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.
+-->
+
+<!-- A layout representing the zero key in the dialpad, with the plus sign shifted up because it is
+     smaller than a regular letter -->
+<com.android.phone.common.dialpad.DialpadKeyButton
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/zero"
+    style="@style/DialpadKeyButtonStyle" >
+
+    <LinearLayout style="@style/DialpadKeyInternalLayoutStyle"
+        android:orientation="horizontal"
+        android:baselineAligned="false"
+        android:layout_gravity="right|center_vertical">
+
+        <!-- Note in the referenced styles that we assign hard widths to these components
+             because we want them to line up vertically when we arrange them in an MxN grid -->
+
+        <com.android.phone.common.dialpad.DialpadTextView
+            android:id="@+id/dialpad_key_number"
+            android:layout_marginRight="@dimen/dialpad_key_margin_right"
+            android:layout_marginBottom="0dp"
+            style="@style/DialpadBottomKeyNumberStyle" />
+
+        <TextView
+            android:id="@+id/dialpad_key_letters"
+            android:layout_width="@dimen/dialpad_key_text_width"
+            style="@style/DialpadKeyLettersStyle" />
+    </LinearLayout>
+</com.android.phone.common.dialpad.DialpadKeyButton>
diff --git a/res/layout/dialpad.xml b/res/layout/dialpad.xml
index 6368279..4cca336 100644
--- a/res/layout/dialpad.xml
+++ b/res/layout/dialpad.xml
@@ -80,27 +80,9 @@
         android:layout_weight="1"
         android:orientation="horizontal">
         <Space style="@style/DialpadSpaceStyle" />
-        <com.android.phone.common.dialpad.DialpadKeyButton
-            android:id="@+id/star"
-            style="@style/DialpadKeyButtonStyle">
-            <LinearLayout
-                style="@style/DialpadKeyInternalLayoutStyle">
-                <com.android.phone.common.dialpad.DialpadTextView
-                    android:id="@+id/dialpad_key_number"
-                    style="@style/DialpadKeyStarStyle" />
-            </LinearLayout>
-        </com.android.phone.common.dialpad.DialpadKeyButton>
+        <include layout="@layout/dialpad_key_star" />
         <include layout="@layout/dialpad_key_zero" />
-        <com.android.phone.common.dialpad.DialpadKeyButton
-            android:id="@+id/pound"
-            style="@style/DialpadKeyButtonStyle">
-            <LinearLayout
-                style="@style/DialpadKeyInternalLayoutStyle">
-                <com.android.phone.common.dialpad.DialpadTextView
-                    android:id="@id/dialpad_key_number"
-                    style="@style/DialpadKeyPoundStyle" />
-            </LinearLayout>
-        </com.android.phone.common.dialpad.DialpadKeyButton>
+        <include layout="@layout/dialpad_key_pound" />
         <Space style="@style/DialpadSpaceStyle" />
     </LinearLayout>
     <Space
diff --git a/res/layout/dialpad_key_pound.xml b/res/layout/dialpad_key_pound.xml
new file mode 100644
index 0000000..fd90b88
--- /dev/null
+++ b/res/layout/dialpad_key_pound.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2006 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.
+-->
+<com.android.phone.common.dialpad.DialpadKeyButton
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/pound"
+    style="@style/DialpadKeyButtonStyle">
+    <LinearLayout
+        style="@style/DialpadKeyInternalLayoutStyle" >
+        <com.android.phone.common.dialpad.DialpadTextView
+            android:id="@id/dialpad_key_number"
+            style="@style/DialpadKeyPoundStyle"/>
+    </LinearLayout>
+</com.android.phone.common.dialpad.DialpadKeyButton>
diff --git a/res/layout/dialpad_key_star.xml b/res/layout/dialpad_key_star.xml
new file mode 100644
index 0000000..d84e156
--- /dev/null
+++ b/res/layout/dialpad_key_star.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2006 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.
+-->
+<com.android.phone.common.dialpad.DialpadKeyButton
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/star"
+    style="@style/DialpadKeyButtonStyle">
+    <LinearLayout
+        style="@style/DialpadKeyInternalLayoutStyle" >
+        <com.android.phone.common.dialpad.DialpadTextView
+            android:id="@+id/dialpad_key_number"
+            style="@style/DialpadKeyStarStyle" />
+    </LinearLayout>
+</com.android.phone.common.dialpad.DialpadKeyButton>
diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml
index 96547f0..72e6b3d 100644
--- a/res/values-land/dimens.xml
+++ b/res/values-land/dimens.xml
@@ -15,6 +15,8 @@
   limitations under the License.
   -->
 <resources>
-    <dimen name="dialpad_key_margin_right">10dp</dimen>
-    <dimen name="dialpad_key_text_width">25dp</dimen>
+    <dimen name="dialpad_key_margin_right">5dp</dimen>
+    <dimen name="dialpad_key_text_width">35dp</dimen>
+    <dimen name="dialpad_key_number_width">20sp</dimen>
+    <dimen name="dialpad_symbol_margin_bottom">0dp</dimen>
 </resources>
diff --git a/res/values-land/styles.xml b/res/values-land/styles.xml
new file mode 100644
index 0000000..07f4998
--- /dev/null
+++ b/res/values-land/styles.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2014 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>
+    <style name="DialpadKeyNumberStyle">
+        <item name="android:textColor">@color/dialpad_primary_text_color</item>
+        <item name="android:textSize">@dimen/dialpad_key_numbers_size</item>
+        <item name="android:fontFamily">sans-serif-light</item>
+        <item name="android:layout_width">@dimen/dialpad_key_number_width</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:layout_marginBottom">@dimen/dialpad_key_number_margin_bottom</item>
+    </style>
+
+        <style name="DialpadKeyLettersStyle">
+        <item name="android:textColor">@color/dialpad_secondary_text_color</item>
+        <item name="android:textSize">@dimen/dialpad_key_letters_size</item>
+        <item name="android:fontFamily">sans-serif-regular</item>
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:gravity">left</item>
+    </style>
+</resources>