summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorHans Boehm <hboehm@google.com>2015-06-19 18:31:28 -0700
committerHans Boehm <hboehm@google.com>2015-06-24 15:35:00 -0700
commit19e93c9806c245084d81df601d5ebc38c73dd5a7 (patch)
tree1294a7648272f9c18f7d30e7d42a5ba956a3d044 /src
parent79ffb5221096d5825073a0caa47fbe646520acad (diff)
downloadandroid_packages_apps_ExactCalculator-19e93c9806c245084d81df601d5ebc38c73dd5a7.tar.gz
android_packages_apps_ExactCalculator-19e93c9806c245084d81df601d5ebc38c73dd5a7.tar.bz2
android_packages_apps_ExactCalculator-19e93c9806c245084d81df601d5ebc38c73dd5a7.zip
Reflect conversion of CR to unchecked exceptions
Bug: 20667245 Update calculator code to reflect the fact that CR Errors have become exceptions, and they are now delcared local to CR. Change-Id: Ie9c9e10cef2f98a23856aa9e49328ae7ba52c9bc
Diffstat (limited to 'src')
-rw-r--r--src/com/android/calculator2/BoundedRational.java7
-rw-r--r--src/com/android/calculator2/Evaluator.java12
2 files changed, 8 insertions, 11 deletions
diff --git a/src/com/android/calculator2/BoundedRational.java b/src/com/android/calculator2/BoundedRational.java
index 5b9f976..70c21af 100644
--- a/src/com/android/calculator2/BoundedRational.java
+++ b/src/com/android/calculator2/BoundedRational.java
@@ -29,7 +29,6 @@ package com.android.calculator2;
import java.math.BigInteger;
import com.hp.creals.CR;
-import com.hp.creals.AbortedError;
public class BoundedRational {
// TODO: Maybe eventually make this extend Number?
@@ -386,7 +385,7 @@ public class BoundedRational {
}
BoundedRational tmp = pow(exp.shiftRight(1));
if (Thread.interrupted()) {
- throw new AbortedError();
+ throw new CR.AbortedException();
}
return multiply(tmp, tmp);
}
@@ -453,11 +452,11 @@ public class BoundedRational {
if (n > 4 * step) {
BigInteger prod1 = genFactorial(n, 2 * step);
if (Thread.interrupted()) {
- throw new AbortedError();
+ throw new CR.AbortedException();
}
BigInteger prod2 = genFactorial(n - step, 2 * step);
if (Thread.interrupted()) {
- throw new AbortedError();
+ throw new CR.AbortedException();
}
return prod1.multiply(prod2);
} else {
diff --git a/src/com/android/calculator2/Evaluator.java b/src/com/android/calculator2/Evaluator.java
index 76b0a9e..afde752 100644
--- a/src/com/android/calculator2/Evaluator.java
+++ b/src/com/android/calculator2/Evaluator.java
@@ -88,9 +88,7 @@ import android.os.Handler;
import android.preference.PreferenceManager;
import android.util.Log;
-import com.hp.creals.AbortedError;
import com.hp.creals.CR;
-import com.hp.creals.PrecisionOverflowError;
import java.io.DataInput;
import java.io.DataOutput;
@@ -233,9 +231,9 @@ class Evaluator {
return new ReevalResult(mVal.toString(eval_prec), eval_prec);
} catch(ArithmeticException e) {
return null;
- } catch(PrecisionOverflowError e) {
+ } catch(CR.PrecisionOverflowException e) {
return null;
- } catch(AbortedError e) {
+ } catch(CR.AbortedException e) {
// Should only happen if the task was cancelled,
// in which case we don't look at the result.
return null;
@@ -252,7 +250,7 @@ class Evaluator {
mCalculator.onError(R.string.error_nan);
} else {
if (result.mNewCacheDigs < mCacheDigs) {
- throw new Error("Unexpected onPostExecute timing");
+ throw new AssertionError("Unexpected onPostExecute timing");
}
mCache = result.mNewCache;
mCacheDigs = result.mNewCacheDigs;
@@ -411,11 +409,11 @@ class Evaluator {
return new InitialResult(R.string.error_zero_divide);
} catch(ArithmeticException e) {
return new InitialResult(R.string.error_nan);
- } catch(PrecisionOverflowError e) {
+ } catch(CR.PrecisionOverflowException e) {
// Extremely unlikely unless we're actually dividing by
// zero or the like.
return new InitialResult(R.string.error_overflow);
- } catch(AbortedError e) {
+ } catch(CR.AbortedException e) {
return new InitialResult(R.string.error_aborted);
}
}