Merge "Adding ability to manually enter a call log entry to dialer test app."
diff --git a/res/anim/slide_in.xml b/res/anim/slide_in.xml
deleted file mode 100644
index fa0bda0..0000000
--- a/res/anim/slide_in.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2013 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.
--->
-<translate xmlns:android="http://schemas.android.com/apk/res/android"
-    android:interpolator="@interpolator/ease_in_interpolator"
-    android:duration="@integer/dialpad_slide_in_duration"
-    android:fromYDelta="67%p"
-    android:toYDelta="0" />
diff --git a/res/anim/slide_in_right.xml b/res/anim/slide_in_right.xml
deleted file mode 100644
index 11b764a..0000000
--- a/res/anim/slide_in_right.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?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.
--->
-
-<translate xmlns:android="http://schemas.android.com/apk/res/android"
-           android:fromXDelta="67%p"
-           android:toXDelta="0"
-           android:interpolator="@android:anim/decelerate_interpolator"
-           android:duration="@integer/dialpad_slide_in_duration"/>
diff --git a/res/anim/slide_out.xml b/res/anim/slide_out.xml
deleted file mode 100644
index e5d7ed4..0000000
--- a/res/anim/slide_out.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2013 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.
--->
-<translate xmlns:android="http://schemas.android.com/apk/res/android"
-    android:interpolator="@interpolator/ease_out_interpolator"
-    android:duration="@integer/dialpad_slide_out_duration"
-    android:fromYDelta="0"
-    android:toYDelta="80%p" />
diff --git a/res/anim/slide_out_right.xml b/res/anim/slide_out_right.xml
deleted file mode 100644
index 72304a4..0000000
--- a/res/anim/slide_out_right.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?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.
--->
-
-<translate xmlns:android="http://schemas.android.com/apk/res/android"
-           android:fromXDelta="0"
-           android:toXDelta="80%"
-           android:interpolator="@android:anim/decelerate_interpolator"
-           android:duration="@integer/dialpad_slide_out_duration"/>
diff --git a/res/values/animation_constants.xml b/res/values/animation_constants.xml
index 05b8e21..7863060 100644
--- a/res/values/animation_constants.xml
+++ b/res/values/animation_constants.xml
@@ -16,8 +16,6 @@
   -->
 <resources>
     <integer name="fade_duration">300</integer>
-    <integer name="dialpad_slide_in_duration">532</integer>
-    <integer name="dialpad_slide_out_duration">257</integer>
 
     <!-- Swipe constants -->
     <integer name="swipe_escape_velocity">100</integer>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 8f083c8..bd23506 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -687,11 +687,19 @@
          [CHAR LIMIT=NONE] -->
     <string name="toast_entry_removed">Call log entry deleted.</string>
 
+    <!-- String used as a header in the call log above calls which occurred today.
+         [CHAR LIMIT=65] -->
+    <string name="call_log_header_today">Today</string>
+
+    <!-- String used as a header in the call log above calls which occurred yesterday.
+         [CHAR LIMIT=65] -->
+    <string name="call_log_header_yesterday">Yesterday</string>
+
     <!-- String used as a header in the call log above calls which occurred last week.
          [CHAR LIMIT=65] -->
     <string name="call_log_header_last_week">Last week</string>
 
-    <!-- String used as a header in the call log above calls which ocurred more than a week ago.
+    <!-- String used as a header in the call log above calls which occurred more than a week ago.
          [CHAR LIMIT=65] -->
     <string name="call_log_header_other">Other</string>
 </resources>
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index 53e438d..baacc15 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -427,9 +427,9 @@
         }
 
         mSlideIn = AnimationUtils.loadAnimation(this,
-                mIsLandscape ? R.anim.slide_in_right : R.anim.slide_in);
+                mIsLandscape ? R.anim.dialpad_slide_in_right : R.anim.dialpad_slide_in_bottom);
         mSlideOut = AnimationUtils.loadAnimation(this,
-                mIsLandscape ? R.anim.slide_out_right : R.anim.slide_out);
+                mIsLandscape ? R.anim.dialpad_slide_out_right : R.anim.dialpad_slide_out_bottom);
 
         mSlideOut.setAnimationListener(mSlideOutListener);
 
@@ -1128,7 +1128,7 @@
         // Only scroll the button when the first tab is selected. The button should scroll from
         // the middle to right position only on the transition from the first tab to the second
         // tab.
-        if (position == ListsFragment.TAB_INDEX_SPEED_DIAL) {
+        if (position == ListsFragment.TAB_INDEX_SPEED_DIAL && !mIsLandscape) {
             mFloatingActionButtonController.onPageScrolled(positionOffset);
         }
     }
@@ -1187,9 +1187,13 @@
             align = mIsLandscape ? FloatingActionButtonController.ALIGN_QUARTER_RIGHT
                     : FloatingActionButtonController.ALIGN_MIDDLE;
         } else {
-            align = mCurrentTabPosition == ListsFragment.TAB_INDEX_SPEED_DIAL
-                    ? FloatingActionButtonController.ALIGN_MIDDLE
-                        : FloatingActionButtonController.ALIGN_RIGHT;
+            if (!mIsLandscape) {
+                align = mCurrentTabPosition == ListsFragment.TAB_INDEX_SPEED_DIAL
+                        ? FloatingActionButtonController.ALIGN_MIDDLE
+                            : FloatingActionButtonController.ALIGN_RIGHT;
+            } else {
+                align = FloatingActionButtonController.ALIGN_RIGHT;
+            }
         }
         mFloatingActionButtonController.align(align,
                 0 /* offsetX */,
diff --git a/src/com/android/dialer/calllog/CallLogAdapter.java b/src/com/android/dialer/calllog/CallLogAdapter.java
index 924a17f..12edaa0 100644
--- a/src/com/android/dialer/calllog/CallLogAdapter.java
+++ b/src/com/android/dialer/calllog/CallLogAdapter.java
@@ -122,12 +122,6 @@
     /** The size of the cache of contact info. */
     private static final int CONTACT_INFO_CACHE_SIZE = 100;
 
-    /** Localized string representing the word "Today". */
-    private final CharSequence mTodayLabel = DateUtils.getTodayString();
-
-    /** Localized string representing the word "Yesterday". */
-    private final CharSequence mYesterdayLabel = DateUtils.getYesterdayString();
-
     /** Constant used to indicate no row is expanded. */
     private static final long NONE_EXPANDED = -1;
 
@@ -1318,9 +1312,9 @@
      */
     private CharSequence getGroupDescription(int group) {
        if (group == CallLogGroupBuilder.DAY_GROUP_TODAY) {
-           return mTodayLabel;
+           return mContext.getResources().getString(R.string.call_log_header_today);
        } else if (group == CallLogGroupBuilder.DAY_GROUP_YESTERDAY) {
-           return mYesterdayLabel;
+           return mContext.getResources().getString(R.string.call_log_header_yesterday);
        } else if (group == CallLogGroupBuilder.DAY_GROUP_LAST_WEEK) {
            return mContext.getResources().getString(R.string.call_log_header_last_week);
        } else {