Merge changes If6c32264,Idfdae761,I437fd3c4 into ub-calculator-euler

* changes:
  Set accent color in theme.
  Animate text colors for drag.
  Show "Empty History" only when completely empty.
diff --git a/res/values/themes.xml b/res/values/themes.xml
index b8c7600..b75df94 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -19,6 +19,7 @@
 
     <style name="Theme" parent="@android:style/Theme.Material.Light.DarkActionBar">
         <item name="android:colorPrimary">@color/calculator_accent_color</item>
+        <item name="android:colorAccent">@color/calculator_accent_color</item>
         <item name="android:statusBarColor">@color/calculator_accent_color</item>
         <item name="android:windowSoftInputMode">stateAlwaysHidden</item>
     </style>
diff --git a/src/com/android/calculator2/DragController.java b/src/com/android/calculator2/DragController.java
index e195463..1c31767 100644
--- a/src/com/android/calculator2/DragController.java
+++ b/src/com/android/calculator2/DragController.java
@@ -16,6 +16,7 @@
 
 package com.android.calculator2;
 
+import android.animation.ArgbEvaluator;
 import android.support.v7.widget.RecyclerView;
 import android.view.View;
 import android.widget.TextView;
@@ -27,6 +28,8 @@
 
     private static final String TAG = "DragController";
 
+    private static final ArgbEvaluator mColorEvaluator = new ArgbEvaluator();
+
     // References to views from the Calculator Display.
     private CalculatorFormula mDisplayFormula;
     private CalculatorResult mDisplayResult;
@@ -42,6 +45,12 @@
 
     private int mDisplayHeight;
 
+    private int mFormulaStartColor;
+    private int mFormulaEndColor;
+
+    private int mResultStartColor;
+    private int mResultEndColor;
+
     private boolean mAnimationInitialized;
 
     private AnimationController mAnimationController;
@@ -78,7 +87,7 @@
         mToolbar = toolbar;
     }
 
-    public void animateViews(float yFraction, RecyclerView recyclerView, int itemCount) {
+    public void animateViews(float yFraction, RecyclerView recyclerView) {
         final HistoryAdapter.ViewHolder vh = (HistoryAdapter.ViewHolder)
                 recyclerView.findViewHolderForAdapterPosition(0);
         if (yFraction > 0) {
@@ -92,6 +101,8 @@
             if (!mAnimationInitialized) {
                 mAnimationController.initializeScales(formula, result);
 
+                mAnimationController.initializeColorAnimators(formula, result);
+
                 mAnimationController.initializeFormulaTranslationX(formula);
 
                 mAnimationController.initializeFormulaTranslationY(formula, result);
@@ -122,6 +133,12 @@
                 result.setTranslationX(mAnimationController.getResultTranslationX(yFraction));
                 result.setTranslationY(mAnimationController.getResultTranslationY(yFraction));
 
+                formula.setTextColor((int) mColorEvaluator.evaluate(yFraction, mFormulaStartColor,
+                        mFormulaEndColor));
+
+                result.setTextColor((int) mColorEvaluator.evaluate(yFraction, mResultStartColor,
+                        mResultEndColor));
+
                 date.setTranslationY(mAnimationController.getDateTranslationY(yFraction));
             }
         } else if (EvaluatorStateUtils.isDisplayEmpty(mEvaluator)) {
@@ -165,6 +182,8 @@
 
         void initializeDisplayHeight();
 
+        void initializeColorAnimators(AlignedTextView formula, CalculatorResult result);
+
         void initializeScales(AlignedTextView formula, CalculatorResult result);
 
         void initializeFormulaTranslationX(AlignedTextView formula);
@@ -205,6 +224,14 @@
             // no-op
         }
 
+        public void initializeColorAnimators(AlignedTextView formula, CalculatorResult result) {
+            mFormulaStartColor = mDisplayFormula.getCurrentTextColor();
+            mFormulaEndColor = formula.getCurrentTextColor();
+
+            mResultStartColor = mDisplayResult.getCurrentTextColor();
+            mResultEndColor = result.getCurrentTextColor();
+        }
+
         public void initializeScales(AlignedTextView formula, CalculatorResult result) {
             // Calculate the scale for the text
             mFormulaScale = (mDisplayFormula.getTextSize() * 1.0f) / formula.getTextSize();
diff --git a/src/com/android/calculator2/HistoryFragment.java b/src/com/android/calculator2/HistoryFragment.java
index b16ccdb..3692a0f 100644
--- a/src/com/android/calculator2/HistoryFragment.java
+++ b/src/com/android/calculator2/HistoryFragment.java
@@ -44,7 +44,7 @@
 
                 @Override
                 public void whileDragging(float yFraction) {
-                    mDragController.animateViews(yFraction, mRecyclerView, mAdapter.getItemCount());
+                    mDragController.animateViews(yFraction, mRecyclerView);
                 }
 
                 @Override
@@ -158,7 +158,7 @@
             for (long i = 0; i < maxIndex; ++i) {
                 newDataSet.add(null);
             }
-            if (maxIndex == 0) {
+            if (newDataSet.isEmpty()) {
                 newDataSet.add(new HistoryItem());
             }
             mDataSet = newDataSet;