cpp-123: Wrong colors in floating calculator

Fixes #123
This commit is contained in:
serso
2015-02-13 09:30:54 +01:00
parent d82cbcb7fc
commit c1813c1860
5 changed files with 17 additions and 4 deletions

View File

@@ -140,7 +140,7 @@ public class AndroidCalculatorDisplayView extends AutoResizeTextView implements
}
private Preferences.Gui.TextColor getTextColor() {
return App.getTheme().getTextColor(App.getApplication());
return App.getTheme().getTextColor(getContext());
}
@Nonnull

View File

@@ -30,6 +30,8 @@ import android.text.TextWatcher;
import android.util.AttributeSet;
import android.view.ContextMenu;
import android.widget.EditText;
import org.solovyev.android.calculator.onscreen.CalculatorOnscreenService;
import org.solovyev.common.collections.Collections;
import javax.annotation.Nonnull;
@@ -120,7 +122,12 @@ public class AndroidCalculatorEditorView extends EditText implements CalculatorE
try {
editorView.viewStateChange = true;
editorView.viewState = viewState;
editorView.setText(viewState.getTextAsCharSequence(), BufferType.EDITABLE);
if (App.getTheme().isLight() && getContext() instanceof CalculatorOnscreenService) {
// don't need formatting
editorView.setText(viewState.getText());
} else {
editorView.setText(viewState.getTextAsCharSequence(), BufferType.EDITABLE);
}
final int selection = CalculatorEditorImpl.correctSelection(viewState.getSelection(), editorView.getText());
editorView.setSelection(selection);
} finally {

View File

@@ -33,6 +33,7 @@ import jscl.AngleUnit;
import jscl.NumeralBase;
import org.solovyev.android.calculator.math.MathType;
import org.solovyev.android.calculator.model.AndroidCalculatorEngine;
import org.solovyev.android.calculator.onscreen.CalculatorOnscreenService;
import org.solovyev.android.calculator.preferences.PurchaseDialogActivity;
import org.solovyev.android.calculator.wizard.WizardActivity;
import org.solovyev.android.prefs.*;
@@ -139,6 +140,9 @@ public final class Preferences {
if (context instanceof PurchaseDialogActivity) {
return dialogThemeId;
}
if (App.getTheme().isLight() && context instanceof CalculatorOnscreenService) {
return R.style.Cpp_Theme_Material;
}
return themeId;
}