Matching landscape dialer to mockups.

Dialer now matches mockup in landscape mode.

Bug: 15386162
Change-Id: I8abb7a6c13bbeb1cb9210532e850010b196fe14e
diff --git a/res/drawable/shadow_fade_left.xml b/res/drawable/shadow_fade_left.xml
new file mode 100644
index 0000000..cb87cf5
--- /dev/null
+++ b/res/drawable/shadow_fade_left.xml
@@ -0,0 +1,24 @@
+<?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.
+-->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle" >
+    <gradient
+        android:type="linear"
+        android:startColor="@null"
+        android:endColor="#1a000000"
+        android:angle="0"/>
+</shape>
diff --git a/res/layout-land/dialpad_fragment.xml b/res/layout-land/dialpad_fragment.xml
new file mode 100644
index 0000000..aac0daf
--- /dev/null
+++ b/res/layout-land/dialpad_fragment.xml
@@ -0,0 +1,47 @@
+<?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.
+-->
+<view class="com.android.dialer.dialpad.DialpadFragment$DialpadSlidingLinearLayout"
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="horizontal"
+    >
+    <!-- spacer view -->
+    <View
+        android:id="@+id/spacer"
+        android:layout_width="0dp"
+        android:layout_height="match_parent"
+        android:layout_weight="1"
+        android:background="#00000000" />
+    <!-- Dialpad shadow -->
+    <View
+        android:layout_width="@dimen/shadow_length"
+        android:layout_height="match_parent"
+        android:background="@drawable/shadow_fade_left" />
+    <include layout="@layout/dialpad_view"
+         android:layout_height="match_parent"
+         android:layout_width="0dp"
+         android:layout_weight="1" />
+    <!-- "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="wrap_content"
+            android:background="@color/background_dialer_light"
+            android:visibility="gone" />
+</view>
diff --git a/res/layout/dialpad_fragment.xml b/res/layout/dialpad_fragment.xml
index b2312ad..01bbecc 100644
--- a/res/layout/dialpad_fragment.xml
+++ b/res/layout/dialpad_fragment.xml
@@ -28,7 +28,7 @@
     <!-- Dialpad shadow -->
     <View
         android:layout_width="match_parent"
-        android:layout_height="10dp"
+        android:layout_height="@dimen/shadow_length"
         android:background="@drawable/shadow_fade_up" />
     <include layout="@layout/dialpad_view" />
     <!-- "Dialpad chooser" UI, shown only when the user brings up the
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 4520a04..0aa3cc5 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -127,4 +127,7 @@
 
     <!-- Size of icon for contacts number shortcuts -->
     <dimen name="search_shortcut_radius">40dp</dimen>
+
+    <!-- Length of dialpad's shadows in dialer. -->
+    <dimen name="shadow_length">10dp</dimen>
 </resources>
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index df2a87c..e516a53 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -330,8 +330,8 @@
 
         final Resources resources = getResources();
         mActionBarHeight = resources.getDimensionPixelSize(R.dimen.action_bar_height);
-        mFloatingActionButtonMarginBottom =
-                resources.getDimensionPixelOffset(R.dimen.floating_action_button_margin_bottom);
+        mFloatingActionButtonMarginBottom = resources.getDimensionPixelOffset(
+                R.dimen.floating_action_button_margin_bottom);
         mFloatingActionButtonDialpadMarginBottom = resources.getDimensionPixelOffset(
                 R.dimen.floating_action_button_dialpad_margin_bottom);
 
@@ -662,7 +662,8 @@
     }
 
     private void updateSearchFragmentPosition() {
-        int translationValue = mIsDialpadShown ?  -mActionBarHeight : 0;
+        int startTranslationValue = mIsDialpadShown ? mActionBarHeight : 0;
+        int endTranslationValue = mIsDialpadShown ? 0 : mActionBarHeight;
         SearchFragment fragment = null;
         if (mSmartDialSearchFragment != null && mSmartDialSearchFragment.isVisible()) {
             fragment = mSmartDialSearchFragment;
@@ -670,8 +671,11 @@
             fragment = mRegularSearchFragment;
         }
         if (fragment != null && fragment.isVisible()) {
-            fragment.getView().animate().translationY(translationValue)
-                    .setInterpolator(hideActionBarInterpolator).setDuration(ANIMATION_DURATION);
+            fragment.getListView().setTranslationY(startTranslationValue);
+            fragment.getListView().animate().translationY(endTranslationValue)
+                    .setInterpolator(hideActionBarInterpolator)
+                    .setDuration(ANIMATION_DURATION)
+                    .start();
         }
     }
 
diff --git a/src/com/android/dialer/list/SearchFragment.java b/src/com/android/dialer/list/SearchFragment.java
index 9a30c4d..f309f72 100644
--- a/src/com/android/dialer/list/SearchFragment.java
+++ b/src/com/android/dialer/list/SearchFragment.java
@@ -80,14 +80,8 @@
         mActionBarHeight = activity.getActionBarHeight();
 
         final View parentView = getView();
-        parentView.setPaddingRelative(
-                parentView.getPaddingStart(),
-                mActionBarHeight,
-                parentView.getPaddingEnd(),
-                parentView.getPaddingBottom());
 
         final ListView listView = getListView();
-
         listView.setOnScrollListener(new OnScrollListener() {
             @Override
             public void onScrollStateChanged(AbsListView view, int scrollState) {
@@ -99,10 +93,8 @@
                     int totalItemCount) {
             }
         });
-
-
-        if (!activity.isActionBarShowing()) {
-            parentView.setTranslationY(-mActionBarHeight);
+        if (activity.isActionBarShowing()) {
+            listView.setTranslationY(mActionBarHeight);
         }
     }