summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJustin Klaassen <justinklaassen@google.com>2015-06-22 15:10:53 -0700
committerJustin Klaassen <justinklaassen@google.com>2015-06-22 16:14:24 -0700
commit8b1efdb8631462d50512ec8024d11ea53ee7fcfe (patch)
treedd11bf1619dea0eb58745b6ee41b521bcf288353 /src
parent7917a53c8682fdc6c21e7f7df62d8e4fd408228c (diff)
downloadandroid_packages_apps_ExactCalculator-8b1efdb8631462d50512ec8024d11ea53ee7fcfe.tar.gz
android_packages_apps_ExactCalculator-8b1efdb8631462d50512ec8024d11ea53ee7fcfe.tar.bz2
android_packages_apps_ExactCalculator-8b1efdb8631462d50512ec8024d11ea53ee7fcfe.zip
Persist radian/degree mode
Bug: 21756459 Change-Id: Id8889c8a1f7cda255de2eeebedfbdc1fad7634b1
Diffstat (limited to 'src')
-rw-r--r--src/com/android/calculator2/Evaluator.java19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/com/android/calculator2/Evaluator.java b/src/com/android/calculator2/Evaluator.java
index 8d10210..666790a 100644
--- a/src/com/android/calculator2/Evaluator.java
+++ b/src/com/android/calculator2/Evaluator.java
@@ -79,10 +79,13 @@
package com.android.calculator2;
import android.app.AlertDialog;
+import android.content.Context;
import android.content.DialogInterface;
+import android.content.SharedPreferences;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Handler;
+import android.preference.PreferenceManager;
import android.util.Log;
import com.hp.creals.AbortedError;
@@ -101,6 +104,8 @@ import java.util.TimeZone;
class Evaluator {
+ private static final String KEY_PREF_DEGREE_MODE = "degree_mode";
+
private final Calculator mCalculator;
private final CalculatorResult mResult; // The result display View
private CalculatorExpr mExpr; // Current calculator expression
@@ -191,6 +196,8 @@ class Evaluator {
// The expression may have changed since the last evaluation in ways that would
// affect its value.
+ private SharedPreferences mSharedPrefs;
+
Evaluator(Calculator calculator,
CalculatorResult resultDisplay) {
mCalculator = calculator;
@@ -199,7 +206,9 @@ class Evaluator {
mSaved = new CalculatorExpr();
mSavedName = "none";
mTimeoutHandler = new Handler();
- mDegreeMode = false; // Remain compatible with previous versions.
+
+ mSharedPrefs = PreferenceManager.getDefaultSharedPreferences(calculator);
+ mDegreeMode = mSharedPrefs.getBoolean(KEY_PREF_DEGREE_MODE, false);
}
// Result of asynchronous reevaluation
@@ -886,9 +895,13 @@ class Evaluator {
mExpr.delete();
}
- void setDegreeMode(boolean degrees) {
+ void setDegreeMode(boolean degreeMode) {
mChangedValue = true;
- mDegreeMode = degrees;
+ mDegreeMode = degreeMode;
+
+ mSharedPrefs.edit()
+ .putBoolean(KEY_PREF_DEGREE_MODE, degreeMode)
+ .apply();
}
boolean getDegreeMode() {