From 8b1efdb8631462d50512ec8024d11ea53ee7fcfe Mon Sep 17 00:00:00 2001 From: Justin Klaassen Date: Mon, 22 Jun 2015 15:10:53 -0700 Subject: Persist radian/degree mode Bug: 21756459 Change-Id: Id8889c8a1f7cda255de2eeebedfbdc1fad7634b1 --- src/com/android/calculator2/Evaluator.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'src') 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() { -- cgit v1.2.3