diff options
author | Justin Klaassen <justinklaassen@google.com> | 2015-06-22 15:10:53 -0700 |
---|---|---|
committer | Justin Klaassen <justinklaassen@google.com> | 2015-06-22 16:14:24 -0700 |
commit | 8b1efdb8631462d50512ec8024d11ea53ee7fcfe (patch) | |
tree | dd11bf1619dea0eb58745b6ee41b521bcf288353 /src | |
parent | 7917a53c8682fdc6c21e7f7df62d8e4fd408228c (diff) | |
download | android_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.java | 19 |
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() { |