Do not evaluate when in RESULT state.
Fixes: 35162435
This prevents requireResult from being called a second time (and
duplicating history entries) during a multiwindow change.
Change-Id: I145d4e770c3e5ac8b8554ea1a2a577a34369899d
diff --git a/src/com/android/calculator2/Calculator.java b/src/com/android/calculator2/Calculator.java
index 1516a11..d184344 100644
--- a/src/com/android/calculator2/Calculator.java
+++ b/src/com/android/calculator2/Calculator.java
@@ -918,9 +918,10 @@
mResultText.onEvaluate(index, initDisplayPrec, msd, leastDigPos, truncatedWholeNumber);
if (mCurrentState != CalculatorState.INPUT) {
- // In EVALUATE, INIT, or INIT_FOR_RESULT state.
+ // In EVALUATE, INIT, RESULT, or INIT_FOR_RESULT state.
onResult(mCurrentState == CalculatorState.EVALUATE /* animate */,
- mCurrentState == CalculatorState.INIT_FOR_RESULT /* previously preserved */);
+ mCurrentState == CalculatorState.INIT_FOR_RESULT
+ || mCurrentState == CalculatorState.RESULT /* previously preserved */);
}
}