Merge "Initialize the RecyclerView as INVISIBLE." into ub-calculator-euler
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;
}
diff --git a/src/com/android/calculator2/HistoryFragment.java b/src/com/android/calculator2/HistoryFragment.java
index 1d13a98..b8682ce 100644
--- a/src/com/android/calculator2/HistoryFragment.java
+++ b/src/com/android/calculator2/HistoryFragment.java
@@ -51,8 +51,6 @@
public void onClosed() {
// TODO: only cancel historical evaluations
mEvaluator.cancelAll(true);
-
- mDragController.resetAnimationInitialized();
}
@Override
@@ -168,10 +166,14 @@
}
mAdapter.notifyDataSetChanged();
+ }
- // Initialize the current expression element to dimensions that match the display to
- // avoid flickering and scrolling when elements expand on drag start.
- mDragController.animateViews(1.0f, mRecyclerView, mAdapter.getItemCount());
+ @Override
+ public void onStart() {
+ super.onStart();
+
+ // The orientation may have changed.
+ mDragController.initializeAnimation(mRecyclerView);
}
@Override