Polish History multiwindow support.

Fixes: 34081054
Fixes: 34081005
Fixes: 32987283

-Hide quick result from current expression when we are in one-line
display mode.
-Adjust bottom padding for history item in one-line mode.
-Add font padding when bottom padding for items is 0 to prevent running
into the bottom edge of the display.

Change-Id: Icf3ddd4951ac0e4ab680124ecff7dd5258ccc05f
diff --git a/src/com/android/calculator2/DragController.java b/src/com/android/calculator2/DragController.java
index 7642a64..e90d1b4 100644
--- a/src/com/android/calculator2/DragController.java
+++ b/src/com/android/calculator2/DragController.java
@@ -56,6 +56,8 @@
 
     private boolean mAnimationInitialized;
 
+    private boolean mOneLine;
+
     private AnimationController mAnimationController;
 
     private Evaluator mEvaluator;
@@ -64,7 +66,8 @@
         mEvaluator = evaluator;
     }
 
-    public void initializeController(boolean isResult) {
+    public void initializeController(boolean isResult, boolean oneLine) {
+        mOneLine = oneLine;
         if (EvaluatorStateUtils.isDisplayEmpty(mEvaluator)) {
             // Empty display
             mAnimationController = new EmptyAnimationController();
@@ -179,10 +182,11 @@
      * Reset all initialized values.
      * If the DragLayout is closed, set recyclerview to INVISIBLE to avoid flickering.
      */
-    public void initializeAnimation(RecyclerView recyclerView, boolean isResult, boolean isOpen) {
+    public void initializeAnimation(RecyclerView recyclerView, boolean isResult,
+            boolean oneLine, boolean isOpen) {
         recyclerView.setVisibility(isOpen ? View.VISIBLE : View.INVISIBLE);
         mAnimationInitialized = false;
-        initializeController(isResult);
+        initializeController(isResult, oneLine);
     }
 
     public interface AnimateTextInterface {
@@ -246,13 +250,19 @@
 
         public void initializeFormulaTranslationY(AlignedTextView formula,
                 CalculatorResult result) {
-            // Baseline of formula moves by the difference in formula bottom padding and the
-            // difference in result height.
-            mFormulaTranslationY =
-                    mDisplayFormula.getPaddingBottom() - formula.getPaddingBottom()
-                            + mDisplayResult.getHeight() - result.getHeight()
-                            - mBottomPaddingHeight;
-
+            if (mOneLine) {
+                // Disregard result since we set it to GONE in the one-line case.
+                mFormulaTranslationY =
+                        mDisplayFormula.getPaddingBottom() - formula.getPaddingBottom()
+                        - mBottomPaddingHeight;
+            } else {
+                // Baseline of formula moves by the difference in formula bottom padding and the
+                // difference in result height.
+                mFormulaTranslationY =
+                        mDisplayFormula.getPaddingBottom() - formula.getPaddingBottom()
+                                + mDisplayResult.getHeight() - result.getHeight()
+                                - mBottomPaddingHeight;
+            }
         }
 
         public void initializeFormulaTranslationX(AlignedTextView formula) {