New architecture

This commit is contained in:
Sergey Solovyev
2012-09-23 19:02:35 +04:00
parent f03c2496a6
commit bb2bf70cc2
8 changed files with 66 additions and 16 deletions

View File

@@ -118,6 +118,11 @@ public class AndroidCalculator implements Calculator {
calculator.evaluate();
}
@Override
public void evaluate(@NotNull Long sequenceId) {
calculator.evaluate(sequenceId);
}
@Override
public void simplify() {
calculator.simplify();

View File

@@ -186,9 +186,6 @@ public class CalculatorActivity extends Activity implements FontSizeAdjuster, Sh
roundBracketsButton.setOnDragListener(new OnDragListenerVibrator(newOnDragListener(new RoundBracketsDragProcessor(), dragPreferences), vibrator, preferences));
}
getEngine().softReset();
initMultiplicationButton();
fixThemeParameters(true);

View File

@@ -39,7 +39,7 @@ import java.util.List;
* Time: 11:38 PM
*/
public class AndroidCalculatorEngine implements CalculatorEngine {
public class AndroidCalculatorEngine implements CalculatorEngine, SharedPreferences.OnSharedPreferenceChangeListener {
private static final String GROUPING_SEPARATOR_P_KEY = "org.solovyev.android.calculator.CalculatorActivity_calc_grouping_separator";
@@ -104,6 +104,9 @@ public class AndroidCalculatorEngine implements CalculatorEngine {
public AndroidCalculatorEngine(@NotNull Application application) {
this.context = application;
PreferenceManager.getDefaultSharedPreferences(application).registerOnSharedPreferenceChangeListener(this);
this.lock = new Object();
final JsclMathEngine engine = JsclMathEngine.instance;
@@ -274,4 +277,12 @@ public class AndroidCalculatorEngine implements CalculatorEngine {
return calculatorEngine.getMultiplicationSign();
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
if ( Preferences.getPreferenceKeys().contains(key) ) {
this.softReset();
}
}
}