summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnnie Chin <afchin@google.com>2017-02-02 12:55:14 -0800
committerAnnie Chin <afchin@google.com>2017-02-02 17:45:27 -0800
commit52ce129ca3c85631612725b8a3b2ff8357f9c640 (patch)
tree708d7f74dbcbaeef73b469be6298db68baf23d02
parent13cd100ed0438cdcf918d3b3e3f42c506c0c52d1 (diff)
downloadandroid_packages_apps_ExactCalculator-52ce129ca3c85631612725b8a3b2ff8357f9c640.tar.gz
android_packages_apps_ExactCalculator-52ce129ca3c85631612725b8a3b2ff8357f9c640.tar.bz2
android_packages_apps_ExactCalculator-52ce129ca3c85631612725b8a3b2ff8357f9c640.zip
Null-check the mainResult before calling .exactlyDisplayable()
Bug: 34763650 Change-Id: Ic475e01e222489dbb0a8b548c47f2ed64a48e25c
-rw-r--r--src/com/android/calculator2/Calculator.java8
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;
}