From 8833e0ed582f63ad79b7720553fb019bf062ac78 Mon Sep 17 00:00:00 2001 From: zosimadis Date: Sat, 6 Jan 2018 13:21:48 +0200 Subject: [PATCH] Confusing behaviour after calculating a square root #28 --- .../calculator/helpers/CalculatorImpl.kt | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) 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 7123e1d8..0e6737a7 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -92,6 +92,11 @@ class CalculatorImpl(calculator: Calculator, val context: Context) { mBaseValue = getDisplayedNumberAsDouble() } + private fun handleRoot() { + mBaseValue = getDisplayedNumberAsDouble() + calculateResult() + } + private fun calculateResult() { if (!mIsFirstOperation) { updateFormula() @@ -107,15 +112,18 @@ class CalculatorImpl(calculator: Calculator, val context: Context) { } fun handleOperation(operation: String) { - if (lastKey == DIGIT) + if (lastKey == DIGIT && operation != ROOT) handleResult() mResetValue = true lastKey = operation mLastOperation = operation - if (operation == ROOT) - calculateResult() + if (operation == ROOT) { + handleRoot() + mResetValue = false + } + } fun handleClear() {