diff options
author | Annie Chin <afchin@google.com> | 2017-02-03 19:08:38 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-02-03 19:08:38 +0000 |
commit | cd744f7a2b0373019175195703c50cac81201169 (patch) | |
tree | e17fdee45fb8a51aeb4e877fe63bb8480f82220a | |
parent | 9c251df085228ed76a6abad4d28d504d15b5fa56 (diff) | |
parent | 52ce129ca3c85631612725b8a3b2ff8357f9c640 (diff) | |
download | ExactCalculator-cd744f7a2b0373019175195703c50cac81201169.tar.gz |
Merge "Null-check the mainResult before calling .exactlyDisplayable()" into ub-calculator-euler
-rw-r--r-- | src/com/android/calculator2/Calculator.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/com/android/calculator2/Calculator.java b/src/com/android/calculator2/Calculator.java index 39cb9de..1516a11 100644 --- a/src/com/android/calculator2/Calculator.java +++ b/src/com/android/calculator2/Calculator.java @@ -1264,8 +1264,12 @@ public class Calculator extends Activity menu.findItem(R.id.menu_leading).setVisible(mCurrentState == CalculatorState.RESULT); // Show the fraction option when displaying a rational result. - menu.findItem(R.id.menu_fraction).setVisible(mCurrentState == CalculatorState.RESULT - && mEvaluator.getResult(Evaluator.MAIN_INDEX).exactlyDisplayable()); + boolean visible = mCurrentState == CalculatorState.RESULT; + final UnifiedReal mainResult = mEvaluator.getResult(Evaluator.MAIN_INDEX); + // mainResult should never be null, but it happens. Check as a workaround to protect + // against crashes until we find the root cause (b/34763650). + visible &= mainResult != null && mainResult.exactlyDisplayable(); + menu.findItem(R.id.menu_fraction).setVisible(visible); return true; } |