From dc97c40b700a71ce7b5dfef5231374846c7e479b Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 5 Nov 2020 23:04:53 +0100 Subject: [PATCH] do not allow prepending some numbers with zero --- .../calculator/helpers/CalculatorImpl.kt | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt index d07c2643..a49c04cb 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -79,6 +79,17 @@ class CalculatorImpl(calculator: Calculator, val context: Context) { inputDisplayedFormula = "" } + val valueToCheck = if (inputDisplayedFormula.startsWith("-")) { + inputDisplayedFormula.substring(1) + } else { + inputDisplayedFormula + } + + val value = valueToCheck.substring(valueToCheck.indexOfAny(operations, 0, false) + 1) + if (value == "0" && number.toString().areDigitsOnly()) { + inputDisplayedFormula = inputDisplayedFormula.dropLast(1) + } + inputDisplayedFormula += number setValue(inputDisplayedFormula) } @@ -287,7 +298,13 @@ class CalculatorImpl(calculator: Calculator, val context: Context) { } private fun zeroClicked() { - val value = inputDisplayedFormula + val valueToCheck = if (inputDisplayedFormula.startsWith("-")) { + inputDisplayedFormula.substring(1) + } else { + inputDisplayedFormula + } + + val value = valueToCheck.substring(valueToCheck.indexOfAny(operations, 0, false) + 1) if (value != "0") { addDigit(0) }