Initialize the RecyclerView as INVISIBLE.

Fixes: 33106612
Fixes: 33106867

Also, reinitialize the DragController in onResume() instead of
only on creation.

Change-Id: I6d2be61f07d1839472fddbbd5f88b00da90e3180
diff --git a/src/com/android/calculator2/DragController.java b/src/com/android/calculator2/DragController.java
index 4cc755e..6fb1837 100644
--- a/src/com/android/calculator2/DragController.java
+++ b/src/com/android/calculator2/DragController.java
@@ -86,6 +86,9 @@
     public void animateViews(float yFraction, RecyclerView recyclerView, int itemCount) {
         final HistoryAdapter.ViewHolder vh = (HistoryAdapter.ViewHolder)
                 recyclerView.findViewHolderForAdapterPosition(0);
+        if (yFraction > 0) {
+            recyclerView.setVisibility(View.VISIBLE);
+        }
         if (vh != null && !EvaluatorStateUtils.isDisplayEmpty(mEvaluator)) {
             final CalculatorFormula formula = vh.getFormula();
             final CalculatorResult result = vh.getResult();
@@ -154,10 +157,10 @@
     }
 
     /**
-     * Reset all initialized values whenever the History fragment is closed because the
-     * DisplayState may change.
+     * Reset all initialized values and set recyclerview to INVISIBLE to avoid flickering.
      */
-    public void resetAnimationInitialized() {
+    public void initializeAnimation(RecyclerView recyclerView) {
+        recyclerView.setVisibility(View.INVISIBLE);
         mAnimationInitialized = false;
     }