Fix isResultLayout()
Bug: 33105525
Bug: 33106867
Also reinitialize the dragController so it can keep up on rotation
or background display changes.
Change-Id: Ic1846bc4495196c35ebd4d4ac78f61078dca7573
diff --git a/src/com/android/calculator2/DragController.java b/src/com/android/calculator2/DragController.java
index 6fb1837..9b40ecc 100644
--- a/src/com/android/calculator2/DragController.java
+++ b/src/com/android/calculator2/DragController.java
@@ -50,25 +50,20 @@
public void setEvaluator(Evaluator evaluator) {
mEvaluator = evaluator;
-
- if (evaluator != null) {
- // Initialize controller
- if (EvaluatorStateUtils.isDisplayEmpty(mEvaluator)) {
- // Empty display
- mAnimationController = new EmptyAnimationController();
- } else if (isResultState()) {
- // Result
- mAnimationController = new ResultAnimationController();
- } else {
- // There is something in the formula field. There may or may not be
- // a quick result.
- mAnimationController = new AnimationController();
- }
- }
}
- private boolean isResultState() {
- return mDisplayResult.getTranslationY() != 0;
+ public void initializeController(boolean isResult) {
+ if (EvaluatorStateUtils.isDisplayEmpty(mEvaluator)) {
+ // Empty display
+ mAnimationController = new EmptyAnimationController();
+ } else if (isResult) {
+ // Result
+ mAnimationController = new ResultAnimationController();
+ } else {
+ // There is something in the formula field. There may or may not be
+ // a quick result.
+ mAnimationController = new AnimationController();
+ }
}
public void setDisplayFormula(CalculatorFormula formula) {
@@ -159,9 +154,10 @@
/**
* Reset all initialized values and set recyclerview to INVISIBLE to avoid flickering.
*/
- public void initializeAnimation(RecyclerView recyclerView) {
+ public void initializeAnimation(RecyclerView recyclerView, boolean isResult) {
recyclerView.setVisibility(View.INVISIBLE);
mAnimationInitialized = false;
+ initializeController(isResult);
}
public interface AnimateTextInterface {