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;
}