percents
This commit is contained in:
parent
a4c64df0a6
commit
43a9a27c8f
@ -8,9 +8,8 @@
|
|||||||
<org.solovyev.android.view.widgets.DirectionDragButton xmlns:a="http://schemas.android.com/apk/res/android"
|
<org.solovyev.android.view.widgets.DirectionDragButton xmlns:a="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:calc="http://schemas.android.com/apk/res/org.solovyev.android.calculator"
|
xmlns:calc="http://schemas.android.com/apk/res/org.solovyev.android.calculator"
|
||||||
a:id="@+id/subtractionButton"
|
a:id="@+id/subtractionButton"
|
||||||
calc:textUp="+…%"
|
calc:textUp="%"
|
||||||
a:text="-"
|
a:text="-"
|
||||||
calc:textDown="-…%"
|
|
||||||
calc:directionTextScale="0.5"
|
calc:directionTextScale="0.5"
|
||||||
style="?digitButtonStyle"
|
style="?digitButtonStyle"
|
||||||
a:onClick="digitButtonClickHandler"/>
|
a:onClick="digitButtonClickHandler"/>
|
@ -257,29 +257,19 @@ public enum CalculatorModel implements CursorControl, HistoryControl<CalculatorH
|
|||||||
@Override
|
@Override
|
||||||
public void doOperation(@NotNull EditText editor) {
|
public void doOperation(@NotNull EditText editor) {
|
||||||
int cursorPositionOffset = 0;
|
int cursorPositionOffset = 0;
|
||||||
final StringBuilder textToBeInserted = new StringBuilder();
|
final StringBuilder textToBeInserted = new StringBuilder(text);
|
||||||
|
|
||||||
if (text.equals("+…%")) {
|
final MathType.Result mathType = MathType.getType(text, 0);
|
||||||
textToBeInserted .append("+%");
|
switch (mathType.getMathType()) {
|
||||||
cursorPositionOffset = -1;
|
case function:
|
||||||
} else if (text.equals("-…%")) {
|
textToBeInserted.append("()");
|
||||||
textToBeInserted.append("-%");
|
cursorPositionOffset = -1;
|
||||||
cursorPositionOffset = -1;
|
break;
|
||||||
} else {
|
}
|
||||||
textToBeInserted.append(text);
|
|
||||||
|
|
||||||
final MathType.Result mathType = MathType.getType(text, 0);
|
if (cursorPositionOffset == 0) {
|
||||||
switch (mathType.getMathType()) {
|
if (MathType.openGroupSymbols.contains(text)) {
|
||||||
case function:
|
cursorPositionOffset = -1;
|
||||||
textToBeInserted.append("()");
|
|
||||||
cursorPositionOffset = -1;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (cursorPositionOffset == 0) {
|
|
||||||
if (MathType.openGroupSymbols.contains(text)) {
|
|
||||||
cursorPositionOffset = -1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user