From 522b9d1d1e3a42f1eee6fc5b51542739300b844d Mon Sep 17 00:00:00 2001 From: Axel Labarre Date: Tue, 7 Feb 2023 01:40:35 +0100 Subject: [PATCH 01/18] Override onSaveInstanceState Method Add public member variable mResult into CalculatorImpl Add private member savedRes into MainActivity Update calc constructor Getting Saved res from savedInstanceState --- .../calculator/activities/MainActivity.kt | 29 ++++++++++++++++++- .../calculator/helpers/CalculatorImpl.kt | 19 +++++++++++- 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt index 230efd7f..2d31451e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt @@ -3,6 +3,7 @@ package com.simplemobiletools.calculator.activities import android.content.Context import android.content.Intent import android.os.Bundle +import android.util.Log import android.view.View import android.view.WindowManager import androidx.core.content.res.ResourcesCompat @@ -30,6 +31,12 @@ class MainActivity : SimpleActivity(), Calculator { private var decimalSeparator = DOT private var groupingSeparator = COMMA + //============================================================ + + private var savedRes: String = "999" + + //============================================================ + private lateinit var calc: CalculatorImpl override fun onCreate(savedInstanceState: Bundle?) { @@ -39,7 +46,17 @@ class MainActivity : SimpleActivity(), Calculator { setupOptionsMenu() refreshMenuItems() - calc = CalculatorImpl(this, applicationContext) + //============================================================ + + if(savedInstanceState != null) { + Log.v("MainActivity", "LOG TEST"); + savedRes = savedInstanceState?.getCharSequence("res", "123") as String + + } + Log.v("MainActivity", "LOG NO IF TEST"); + calc = CalculatorImpl(this, applicationContext, savedRes) + + //============================================================ btn_plus.setOnClickOperation(PLUS) btn_minus.setOnClickOperation(MINUS) @@ -240,4 +257,14 @@ class MainActivity : SimpleActivity(), Calculator { calc.handleOperation(operation) } } + + //============================================================ + + // ****** ADD ONSAVEINSTANCESTATE FUNCTION ****** + override fun onSaveInstanceState(bundle: Bundle) { + super.onSaveInstanceState(bundle) + bundle.putString("res", calc.mResult) + } + + //============================================================ } 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 5ff4804e..7ff024ac 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -11,11 +11,19 @@ import java.math.BigDecimal class CalculatorImpl( calculator: Calculator, private val context: Context, + //============================================================ + var res: String, + //============================================================ private var decimalSeparator: String = DOT, private var groupingSeparator: String = COMMA ) { private var callback: Calculator? = calculator + //============================================================ + // Trying Fix it + public var mResult = res + //============================================================ + private var baseValue = 0.0 private var secondValue = 0.0 private var inputDisplayedFormula = "0" @@ -30,7 +38,10 @@ class CalculatorImpl( ) init { - showNewResult("0") + //============================================================ + //showNewResult("0") + showNewResult(mResult) + //============================================================ } private fun addDigit(number: Int) { @@ -271,6 +282,12 @@ class CalculatorImpl( return } + //============================================================ + + mResult = result.format() + + //============================================================ + showNewResult(result.format()) val newFormula = "${baseValue.format()}$sign${secondValue.format()}" HistoryHelper(context).insertOrUpdateHistoryEntry( From 1311df62964f356e07712446d841ed41a03530b9 Mon Sep 17 00:00:00 2001 From: theom Date: Wed, 8 Feb 2023 00:22:46 +0100 Subject: [PATCH 02/18] added saving of the last calculation during a rotation --- .../calculator/activities/MainActivity.kt | 6 ++++-- .../simplemobiletools/calculator/helpers/CalculatorImpl.kt | 7 +++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt index 2d31451e..89d22a77 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt @@ -34,6 +34,7 @@ class MainActivity : SimpleActivity(), Calculator { //============================================================ private var savedRes: String = "999" + private var savedPreviousCalculation = "" //============================================================ @@ -51,10 +52,10 @@ class MainActivity : SimpleActivity(), Calculator { if(savedInstanceState != null) { Log.v("MainActivity", "LOG TEST"); savedRes = savedInstanceState?.getCharSequence("res", "123") as String - + savedPreviousCalculation = savedInstanceState?.getCharSequence("savedPreviousCalculation", "") as String } Log.v("MainActivity", "LOG NO IF TEST"); - calc = CalculatorImpl(this, applicationContext, savedRes) + calc = CalculatorImpl(this, applicationContext, savedRes, savedPreviousCalculation) //============================================================ @@ -264,6 +265,7 @@ class MainActivity : SimpleActivity(), Calculator { override fun onSaveInstanceState(bundle: Bundle) { super.onSaveInstanceState(bundle) bundle.putString("res", calc.mResult) + bundle.putString("savedPreviousCalculation", calc.previousCalculation) } //============================================================ 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 7ff024ac..9725139e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -13,6 +13,7 @@ class CalculatorImpl( private val context: Context, //============================================================ var res: String, + savedLastOperation: String, //============================================================ private var decimalSeparator: String = DOT, private var groupingSeparator: String = COMMA @@ -22,6 +23,7 @@ class CalculatorImpl( //============================================================ // Trying Fix it public var mResult = res + public var previousCalculation = savedLastOperation //============================================================ private var baseValue = 0.0 @@ -41,6 +43,7 @@ class CalculatorImpl( //============================================================ //showNewResult("0") showNewResult(mResult) + showNewFormula(previousCalculation) //============================================================ } @@ -295,6 +298,10 @@ class CalculatorImpl( ) showNewFormula(newFormula) + //============================================================ + previousCalculation = newFormula + //============================================================ + inputDisplayedFormula = result.format() baseValue = result } catch (e: Exception) { From ab579c473770459edfe855f1b2f388c5509d3f3a Mon Sep 17 00:00:00 2001 From: Axel Labarre Date: Wed, 8 Feb 2023 18:35:44 +0100 Subject: [PATCH 03/18] New Bug while rotate -> BaseValue / SecondValue (Fix is comming) --- .../calculator/activities/MainActivity.kt | 42 ++++++++++++-- .../calculator/helpers/CalculatorImpl.kt | 55 ++++++++++++++----- 2 files changed, 77 insertions(+), 20 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt index 89d22a77..d65a00f7 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt @@ -33,8 +33,12 @@ class MainActivity : SimpleActivity(), Calculator { //============================================================ - private var savedRes: String = "999" + private var savedRes: String = "0" private var savedPreviousCalculation = "" + private var savedLastKey: String = "" + private var savedLastOperation: String = "" + private var savedBaseValue : Double= 5.5 + private var savedSecondValue : Double = 7.5 //============================================================ @@ -48,14 +52,38 @@ class MainActivity : SimpleActivity(), Calculator { refreshMenuItems() //============================================================ + //Log.v("SAVEDRES : ", savedRes) + //Log.v("SAVEDPREVIOUS : ", savedPreviousCalculation) + //Log.v("SAVEDLASTKEY : ", savedLastKey) + //Log.v("SAVEDLASTOP : ", savedLastOperation) + //Log.v("DECIMALSEP : ", decimalSeparator) + //Log.v("GROUPINGSEP : ", groupingSeparator) + //Log.v("BASEVALUE : ", savedBaseValue.toString()) + //Log.v("SECONDVALUE : ", savedSecondValue.toString()) if(savedInstanceState != null) { Log.v("MainActivity", "LOG TEST"); - savedRes = savedInstanceState?.getCharSequence("res", "123") as String - savedPreviousCalculation = savedInstanceState?.getCharSequence("savedPreviousCalculation", "") as String + savedRes = savedInstanceState?.getCharSequence("res") as String + savedPreviousCalculation = savedInstanceState?.getCharSequence("savedPreviousCalculation") as String + savedLastKey = savedInstanceState?.getCharSequence("savedLastKey") as String + savedLastOperation = savedInstanceState?.getCharSequence("savedLastOperation") as String + savedBaseValue = savedInstanceState.getDouble("savedBaseValue") + savedSecondValue = savedInstanceState.getDouble("savedSecondValue") + } - Log.v("MainActivity", "LOG NO IF TEST"); - calc = CalculatorImpl(this, applicationContext, savedRes, savedPreviousCalculation) + + Log.v("SAVEDRES : ", savedRes) + Log.v("SAVEDPREVIOUS : ", savedPreviousCalculation) + Log.v("SAVEDLASTKEY : ", savedLastKey) + Log.v("SAVEDLASTOP : ", savedLastOperation) + Log.v("DECIMALSEP : ", decimalSeparator) + Log.v("GROUPINGSEP : ", groupingSeparator) + Log.v("BASEVALUE : ", savedBaseValue.toString()) + Log.v("SECONDVALUE : ", savedSecondValue.toString()) + + + + calc = CalculatorImpl(this, applicationContext,decimalSeparator, groupingSeparator, savedRes, savedPreviousCalculation, savedLastKey, savedLastOperation, savedBaseValue, savedSecondValue) //============================================================ @@ -266,6 +294,10 @@ class MainActivity : SimpleActivity(), Calculator { super.onSaveInstanceState(bundle) bundle.putString("res", calc.mResult) bundle.putString("savedPreviousCalculation", calc.previousCalculation) + bundle.putString("savedLastKey", calc.lastKey) + bundle.putString("savedLastOperation", calc.lastOperation) + bundle.putDouble("savedBaseValue", calc.baseValue) + bundle.putDouble("savedSecondValue", calc.getSecondValue()) } //============================================================ 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 9725139e..976ccbb0 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -1,6 +1,7 @@ package com.simplemobiletools.calculator.helpers import android.content.Context +import android.util.Log import com.simplemobiletools.calculator.R import com.simplemobiletools.calculator.models.History import com.simplemobiletools.commons.extensions.showErrorToast @@ -11,26 +12,37 @@ import java.math.BigDecimal class CalculatorImpl( calculator: Calculator, private val context: Context, - //============================================================ - var res: String, - savedLastOperation: String, - //============================================================ + private var decimalSeparator: String = DOT, - private var groupingSeparator: String = COMMA + private var groupingSeparator: String = COMMA, + + //============================================================ + aRes: String = "123", + aSavedLastOperation: String = "", + aLastKey: String = "", + aLastOperation: String = "", + aBaseValue: Double = 0.0, + aSecondValue: Double = 99.0 + + //============================================================ ) { private var callback: Calculator? = calculator //============================================================ // Trying Fix it - public var mResult = res - public var previousCalculation = savedLastOperation + public var mResult = aRes + public var previousCalculation = aSavedLastOperation + public var lastKey = aLastKey + public var lastOperation = aLastOperation + public var baseValue = aBaseValue + private var secondValue = aSecondValue //============================================================ - private var baseValue = 0.0 - private var secondValue = 0.0 + //private var baseValue = 0.0 + //private var secondValue = 0.0 private var inputDisplayedFormula = "0" - private var lastKey = "" - private var lastOperation = "" + //private var lastKey = "" + //private var lastOperation = "" private val operations = listOf("+", "-", "×", "÷", "^", "%", "√") private val operationsRegex = "[-+×÷^%√]".toPattern() private val numbersRegex = "[^0-9,.]".toRegex() @@ -41,6 +53,8 @@ class CalculatorImpl( init { //============================================================ + Log.v("BASEVALUE INIT :", baseValue.toString()) + Log.v("SECONDVALUE INIT :", secondValue.toString()) //showNewResult("0") showNewResult(mResult) showNewFormula(previousCalculation) @@ -210,7 +224,7 @@ class CalculatorImpl( lastKey = EQUALS } - private fun getSecondValue(): Double { + public fun getSecondValue(): Double { val valueToCheck = inputDisplayedFormula.trimStart('-').removeGroupSeparator() var value = valueToCheck.substring(valueToCheck.indexOfAny(operations) + 1) if (value == "") { @@ -230,6 +244,8 @@ class CalculatorImpl( baseValue = 1.0 } + Log.v("LASKEY CR :", lastKey) + if (lastKey != EQUALS) { val valueToCheck = inputDisplayedFormula.trimStart('-').removeGroupSeparator() val parts = valueToCheck.split(operationsRegex).filter { it != "" } @@ -238,11 +254,14 @@ class CalculatorImpl( } baseValue = parts.first().toDouble() + if (inputDisplayedFormula.startsWith("-")) { baseValue *= -1 } secondValue = parts.getOrNull(1)?.toDouble() ?: secondValue + + } if (lastOperation != "") { @@ -287,10 +306,10 @@ class CalculatorImpl( //============================================================ - mResult = result.format() + //mResult = result.format() + Log.v("CalculResult", result.format()) //============================================================ - showNewResult(result.format()) val newFormula = "${baseValue.format()}$sign${secondValue.format()}" HistoryHelper(context).insertOrUpdateHistoryEntry( @@ -299,7 +318,7 @@ class CalculatorImpl( showNewFormula(newFormula) //============================================================ - previousCalculation = newFormula + //previousCalculation = newFormula //============================================================ inputDisplayedFormula = result.format() @@ -337,10 +356,16 @@ class CalculatorImpl( } private fun showNewResult(value: String) { + //============================================================ + mResult = value; + //============================================================ callback!!.showNewResult(value, context) } private fun showNewFormula(value: String) { + //============================================================ + previousCalculation = value; + //============================================================ callback!!.showNewFormula(value, context) } From 93fb0125de7d04f9f6a6d164e3ebc4b9dbdb9738 Mon Sep 17 00:00:00 2001 From: Axel Labarre Date: Thu, 16 Feb 2023 10:50:23 +0100 Subject: [PATCH 04/18] Fix problem while adding operators with result after rotation --- .../calculator/activities/MainActivity.kt | 15 +++++---------- .../calculator/helpers/CalculatorImpl.kt | 7 ++++--- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt index d65a00f7..bb858d93 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt @@ -37,8 +37,9 @@ class MainActivity : SimpleActivity(), Calculator { private var savedPreviousCalculation = "" private var savedLastKey: String = "" private var savedLastOperation: String = "" - private var savedBaseValue : Double= 5.5 - private var savedSecondValue : Double = 7.5 + private var savedBaseValue : Double= 0.0 + private var savedSecondValue : Double = 0.0 + private var savedInputDisplayedFormula : String = "0" //============================================================ @@ -52,14 +53,6 @@ class MainActivity : SimpleActivity(), Calculator { refreshMenuItems() //============================================================ - //Log.v("SAVEDRES : ", savedRes) - //Log.v("SAVEDPREVIOUS : ", savedPreviousCalculation) - //Log.v("SAVEDLASTKEY : ", savedLastKey) - //Log.v("SAVEDLASTOP : ", savedLastOperation) - //Log.v("DECIMALSEP : ", decimalSeparator) - //Log.v("GROUPINGSEP : ", groupingSeparator) - //Log.v("BASEVALUE : ", savedBaseValue.toString()) - //Log.v("SECONDVALUE : ", savedSecondValue.toString()) if(savedInstanceState != null) { Log.v("MainActivity", "LOG TEST"); @@ -69,6 +62,7 @@ class MainActivity : SimpleActivity(), Calculator { savedLastOperation = savedInstanceState?.getCharSequence("savedLastOperation") as String savedBaseValue = savedInstanceState.getDouble("savedBaseValue") savedSecondValue = savedInstanceState.getDouble("savedSecondValue") + savedInputDisplayedFormula = savedInstanceState.getCharSequence("savedInputDisplayedFormula") as String } @@ -298,6 +292,7 @@ class MainActivity : SimpleActivity(), Calculator { bundle.putString("savedLastOperation", calc.lastOperation) bundle.putDouble("savedBaseValue", calc.baseValue) bundle.putDouble("savedSecondValue", calc.getSecondValue()) + bundle.putString("savedInputDisplayedFormula", calc.inputDisplayedFormula) } //============================================================ 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 976ccbb0..eaa703f0 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -12,7 +12,6 @@ import java.math.BigDecimal class CalculatorImpl( calculator: Calculator, private val context: Context, - private var decimalSeparator: String = DOT, private var groupingSeparator: String = COMMA, @@ -22,7 +21,8 @@ class CalculatorImpl( aLastKey: String = "", aLastOperation: String = "", aBaseValue: Double = 0.0, - aSecondValue: Double = 99.0 + aSecondValue: Double = 0.0, + aInputDisplayedFormula: String = "0" //============================================================ ) { @@ -36,11 +36,12 @@ class CalculatorImpl( public var lastOperation = aLastOperation public var baseValue = aBaseValue private var secondValue = aSecondValue + public var inputDisplayedFormula = aInputDisplayedFormula //============================================================ //private var baseValue = 0.0 //private var secondValue = 0.0 - private var inputDisplayedFormula = "0" + //private var inputDisplayedFormula = "0" //private var lastKey = "" //private var lastOperation = "" private val operations = listOf("+", "-", "×", "÷", "^", "%", "√") From f821d0976b2fab0a13de984132bcd94668de0597 Mon Sep 17 00:00:00 2001 From: Axel Labarre Date: Sat, 18 Feb 2023 15:16:55 +0100 Subject: [PATCH 05/18] fix calc constructor --- .../com/simplemobiletools/calculator/activities/MainActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt index bb858d93..1d38636d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt @@ -77,7 +77,7 @@ class MainActivity : SimpleActivity(), Calculator { - calc = CalculatorImpl(this, applicationContext,decimalSeparator, groupingSeparator, savedRes, savedPreviousCalculation, savedLastKey, savedLastOperation, savedBaseValue, savedSecondValue) + calc = CalculatorImpl(this, applicationContext,decimalSeparator, groupingSeparator, savedRes, savedPreviousCalculation, savedLastKey, savedLastOperation, savedBaseValue, savedSecondValue, savedInputDisplayedFormula) //============================================================ From 6c4c47a1f0b93acb8f9f4d2d0404140ecedb44d6 Mon Sep 17 00:00:00 2001 From: Axel Labarre Date: Sat, 18 Feb 2023 18:49:34 +0100 Subject: [PATCH 06/18] get SecondValue with new method getSecondValueV2() --- .../calculator/activities/MainActivity.kt | 5 ++--- .../calculator/helpers/CalculatorImpl.kt | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt index 1d38636d..db0ded8a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt @@ -77,7 +77,7 @@ class MainActivity : SimpleActivity(), Calculator { - calc = CalculatorImpl(this, applicationContext,decimalSeparator, groupingSeparator, savedRes, savedPreviousCalculation, savedLastKey, savedLastOperation, savedBaseValue, savedSecondValue, savedInputDisplayedFormula) + calc = CalculatorImpl(this, applicationContext,decimalSeparator, groupingSeparator, savedRes, savedPreviousCalculation, savedLastKey, savedLastOperation, savedBaseValue, savedSecondValue, savedInputDisplayedFormula) //============================================================ @@ -291,9 +291,8 @@ class MainActivity : SimpleActivity(), Calculator { bundle.putString("savedLastKey", calc.lastKey) bundle.putString("savedLastOperation", calc.lastOperation) bundle.putDouble("savedBaseValue", calc.baseValue) - bundle.putDouble("savedSecondValue", calc.getSecondValue()) + bundle.putDouble("savedSecondValue", calc.getSecondValueV2()) bundle.putString("savedInputDisplayedFormula", calc.inputDisplayedFormula) - } //============================================================ } 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 eaa703f0..ba3f7710 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -24,12 +24,13 @@ class CalculatorImpl( aSecondValue: Double = 0.0, aInputDisplayedFormula: String = "0" + //============================================================ ) { private var callback: Calculator? = calculator //============================================================ - // Trying Fix it + // Trying Fix it` public var mResult = aRes public var previousCalculation = aSavedLastOperation public var lastKey = aLastKey @@ -227,7 +228,10 @@ class CalculatorImpl( public fun getSecondValue(): Double { val valueToCheck = inputDisplayedFormula.trimStart('-').removeGroupSeparator() + Log.v("VALUEToCheck GETSV :", valueToCheck) + var value = valueToCheck.substring(valueToCheck.indexOfAny(operations) + 1) + Log.v("VALUE GETSV :", value) if (value == "") { value = "0" } @@ -309,6 +313,8 @@ class CalculatorImpl( //mResult = result.format() Log.v("CalculResult", result.format()) + Log.v("BASEVALUE CR :", baseValue.toString()) + Log.v("SECONDVALUE CR :", secondValue.toString()) //============================================================ showNewResult(result.format()) @@ -366,6 +372,8 @@ class CalculatorImpl( private fun showNewFormula(value: String) { //============================================================ previousCalculation = value; + Log.v("BASEVALUE SHOWNF :", baseValue.toString()) + Log.v("SECONDVALUE SHOWNF:", secondValue.toString()) //============================================================ callback!!.showNewFormula(value, context) } @@ -466,4 +474,10 @@ class CalculatorImpl( private fun Double.format() = formatter.doubleToString(this) private fun String.removeGroupSeparator() = formatter.removeGroupingSeparator(this) + + public fun getSecondValueV2() : Double + { + return this.secondValue + } + } From fe4727ec305e9986c789644c42b28f0017aadaca Mon Sep 17 00:00:00 2001 From: theom Date: Sat, 18 Feb 2023 19:44:04 +0100 Subject: [PATCH 07/18] merge master into fix_data branch and resolve conflicts --- .../com/simplemobiletools/calculator/activities/MainActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt index 88c2cca7..73d1ae44 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt @@ -297,6 +297,6 @@ class MainActivity : SimpleActivity(), Calculator { bundle.putDouble("savedBaseValue", calc.baseValue) bundle.putDouble("savedSecondValue", calc.getSecondValueV2()) bundle.putString("savedInputDisplayedFormula", calc.inputDisplayedFormula) - + } //============================================================ } From 7ee8d6a02af44d4ad96ce7f96ce6c9a89e20dafe Mon Sep 17 00:00:00 2001 From: tmontaigu Date: Wed, 22 Feb 2023 16:53:08 +0100 Subject: [PATCH 08/18] Use json to save instance state --- .../calculator/activities/MainActivity.kt | 4 ++++ .../calculator/helpers/CalculatorImpl.kt | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt index 73d1ae44..b93d8bb2 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt @@ -290,6 +290,7 @@ class MainActivity : SimpleActivity(), Calculator { // ****** ADD ONSAVEINSTANCESTATE FUNCTION ****** override fun onSaveInstanceState(bundle: Bundle) { super.onSaveInstanceState(bundle) + /* bundle.putString("res", calc.mResult) bundle.putString("savedPreviousCalculation", calc.previousCalculation) bundle.putString("savedLastKey", calc.lastKey) @@ -297,6 +298,9 @@ class MainActivity : SimpleActivity(), Calculator { bundle.putDouble("savedBaseValue", calc.baseValue) bundle.putDouble("savedSecondValue", calc.getSecondValueV2()) bundle.putString("savedInputDisplayedFormula", calc.inputDisplayedFormula) + */ + //JSON + bundle.putString("myJsonObject", calc.getjson()) } //============================================================ } 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 acf11d4e..8623fd81 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -484,4 +484,20 @@ class CalculatorImpl( return this.secondValue } + //JSON + public fun getJson() : String + { + val jsonObject = buildJsonObject{ + put("res", mResult) + put("savedPreviousCalculation", previousCalculation) + put("savedLastKey", lastKey) + put("savedLastOperation", lastOperation) + put("savedBaseValue", baseValue) + put("savedSecondValue", secondValue) + put("savedInputDisplayedFormula", inputDisplayedFormula) + return jsonObject.toString() + + } + } + } From 064e0bdb3b8d3850c8c13f064a5f2b7f4f2115ff Mon Sep 17 00:00:00 2001 From: Axel Labarre Date: Wed, 22 Feb 2023 16:58:08 +0100 Subject: [PATCH 09/18] add setFromSaveInstanceState method --- .../calculator/activities/MainActivity.kt | 54 +++++++++---------- 1 file changed, 24 insertions(+), 30 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt index 73d1ae44..8390ccbb 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt @@ -33,13 +33,13 @@ class MainActivity : SimpleActivity(), Calculator { //============================================================ - private var savedRes: String = "0" - private var savedPreviousCalculation = "" - private var savedLastKey: String = "" - private var savedLastOperation: String = "" - private var savedBaseValue : Double= 0.0 - private var savedSecondValue : Double = 0.0 - private var savedInputDisplayedFormula : String = "0" + //private var savedRes: String = "0" + //private var savedPreviousCalculation = "" + //private var savedLastKey: String = "" + //private var savedLastOperation: String = "" + //private var savedBaseValue : Double= 0.0 + //private var savedSecondValue : Double = 0.0 + //private var savedInputDisplayedFormula : String = "0" //============================================================ @@ -60,28 +60,28 @@ class MainActivity : SimpleActivity(), Calculator { if(savedInstanceState != null) { Log.v("MainActivity", "LOG TEST"); - savedRes = savedInstanceState?.getCharSequence("res") as String - savedPreviousCalculation = savedInstanceState?.getCharSequence("savedPreviousCalculation") as String - savedLastKey = savedInstanceState?.getCharSequence("savedLastKey") as String - savedLastOperation = savedInstanceState?.getCharSequence("savedLastOperation") as String - savedBaseValue = savedInstanceState.getDouble("savedBaseValue") - savedSecondValue = savedInstanceState.getDouble("savedSecondValue") - savedInputDisplayedFormula = savedInstanceState.getCharSequence("savedInputDisplayedFormula") as String + //savedRes = savedInstanceState?.getCharSequence("res") as String + //savedPreviousCalculation = savedInstanceState?.getCharSequence("savedPreviousCalculation") as String + //savedLastKey = savedInstanceState?.getCharSequence("savedLastKey") as String + //savedLastOperation = savedInstanceState?.getCharSequence("savedLastOperation") as String + //savedBaseValue = savedInstanceState.getDouble("savedBaseValue") + //savedSecondValue = savedInstanceState.getDouble("savedSecondValue") + //savedInputDisplayedFormula = savedInstanceState.getCharSequence("savedInputDisplayedFormula") as String } - Log.v("SAVEDRES : ", savedRes) - Log.v("SAVEDPREVIOUS : ", savedPreviousCalculation) - Log.v("SAVEDLASTKEY : ", savedLastKey) - Log.v("SAVEDLASTOP : ", savedLastOperation) - Log.v("DECIMALSEP : ", decimalSeparator) - Log.v("GROUPINGSEP : ", groupingSeparator) - Log.v("BASEVALUE : ", savedBaseValue.toString()) - Log.v("SECONDVALUE : ", savedSecondValue.toString()) + //Log.v("SAVEDRES : ", savedRes) + //Log.v("SAVEDPREVIOUS : ", savedPreviousCalculation) + //Log.v("SAVEDLASTKEY : ", savedLastKey) + //Log.v("SAVEDLASTOP : ", savedLastOperation) + //Log.v("DECIMALSEP : ", decimalSeparator) + //Log.v("GROUPINGSEP : ", groupingSeparator) + //Log.v("BASEVALUE : ", savedBaseValue.toString()) + //Log.v("SECONDVALUE : ", savedSecondValue.toString()) - calc = CalculatorImpl(this, applicationContext,decimalSeparator, groupingSeparator, savedRes, savedPreviousCalculation, savedLastKey, savedLastOperation, savedBaseValue, savedSecondValue, savedInputDisplayedFormula) + calc = CalculatorImpl(this, applicationContext,decimalSeparator, groupingSeparator) //============================================================ @@ -290,13 +290,7 @@ class MainActivity : SimpleActivity(), Calculator { // ****** ADD ONSAVEINSTANCESTATE FUNCTION ****** override fun onSaveInstanceState(bundle: Bundle) { super.onSaveInstanceState(bundle) - bundle.putString("res", calc.mResult) - bundle.putString("savedPreviousCalculation", calc.previousCalculation) - bundle.putString("savedLastKey", calc.lastKey) - bundle.putString("savedLastOperation", calc.lastOperation) - bundle.putDouble("savedBaseValue", calc.baseValue) - bundle.putDouble("savedSecondValue", calc.getSecondValueV2()) - bundle.putString("savedInputDisplayedFormula", calc.inputDisplayedFormula) + } //============================================================ } From d177eef0b2331782109612bd30c97994a93c1466 Mon Sep 17 00:00:00 2001 From: Axel Labarre Date: Wed, 22 Feb 2023 18:01:44 +0100 Subject: [PATCH 10/18] test JSONobject method --- .../calculator/activities/MainActivity.kt | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt index 31ff1ac2..e7a2d245 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt @@ -40,11 +40,13 @@ class MainActivity : SimpleActivity(), Calculator { //private var savedBaseValue : Double= 0.0 //private var savedSecondValue : Double = 0.0 //private var savedInputDisplayedFormula : String = "0" + private var json: String = "" //============================================================ private lateinit var calc: CalculatorImpl + override fun onCreate(savedInstanceState: Bundle?) { isMaterialActivity = true super.onCreate(savedInstanceState) @@ -53,22 +55,13 @@ class MainActivity : SimpleActivity(), Calculator { setupOptionsMenu() refreshMenuItems() + updateMaterialActivityViews(main_coordinator, null, useTransparentNavigation = false, useTopSearchMenu = false) setupMaterialScrollListener(main_nested_scrollview, main_toolbar) //============================================================ - if(savedInstanceState != null) { - Log.v("MainActivity", "LOG TEST"); - //savedRes = savedInstanceState?.getCharSequence("res") as String - //savedPreviousCalculation = savedInstanceState?.getCharSequence("savedPreviousCalculation") as String - //savedLastKey = savedInstanceState?.getCharSequence("savedLastKey") as String - //savedLastOperation = savedInstanceState?.getCharSequence("savedLastOperation") as String - //savedBaseValue = savedInstanceState.getDouble("savedBaseValue") - //savedSecondValue = savedInstanceState.getDouble("savedSecondValue") - //savedInputDisplayedFormula = savedInstanceState.getCharSequence("savedInputDisplayedFormula") as String - } //Log.v("SAVEDRES : ", savedRes) //Log.v("SAVEDPREVIOUS : ", savedPreviousCalculation) @@ -81,7 +74,19 @@ class MainActivity : SimpleActivity(), Calculator { - calc = CalculatorImpl(this, applicationContext,decimalSeparator, groupingSeparator) + if(savedInstanceState != null) { + Log.v("MainActivity", "LOG TEST"); + //savedRes = savedInstanceState?.getCharSequence("res") as String + //savedPreviousCalculation = savedInstanceState?.getCharSequence("savedPreviousCalculation") as String + //savedLastKey = savedInstanceState?.getCharSequence("savedLastKey") as String + //savedLastOperation = savedInstanceState?.getCharSequence("savedLastOperation") as String + //savedBaseValue = savedInstanceState.getDouble("savedBaseValue") + //savedSecondValue = savedInstanceState.getDouble("savedSecondValue") + //savedInputDisplayedFormula = savedInstanceState.getCharSequence("savedInputDisplayedFormula") as String + json = savedInstanceState.getCharSequence("myJsonObject") as String + } + + calc = CalculatorImpl(this, applicationContext,decimalSeparator, groupingSeparator, json) //============================================================ @@ -300,7 +305,7 @@ class MainActivity : SimpleActivity(), Calculator { bundle.putString("savedInputDisplayedFormula", calc.inputDisplayedFormula) */ //JSON - bundle.putString("myJsonObject", calc.getjson()) + bundle.putString("myJsonObject", calc.getJson().toString()) } //============================================================ } From 593649db7bb262d2911810616fb8e7eea7805137 Mon Sep 17 00:00:00 2001 From: Axel Labarre Date: Wed, 22 Feb 2023 21:54:17 +0100 Subject: [PATCH 11/18] update CalculatorImpl.kt --- CONTRIBUTING 2.md | 8 ++ .../calculator/helpers/CalculatorImpl.kt | 79 ++++++++++--------- app/src/main/res/values-zgh/strings 2.xml | 19 +++++ .../android/en-US/changelogs/59 2.txt | 1 + .../android/pt-BR/short_description 2.txt | 1 + fastlane/metadata/android/pt-BR/title 2.txt | 1 + 6 files changed, 72 insertions(+), 37 deletions(-) create mode 100644 CONTRIBUTING 2.md create mode 100644 app/src/main/res/values-zgh/strings 2.xml create mode 100644 fastlane/metadata/android/en-US/changelogs/59 2.txt create mode 100644 fastlane/metadata/android/pt-BR/short_description 2.txt create mode 100644 fastlane/metadata/android/pt-BR/title 2.txt diff --git a/CONTRIBUTING 2.md b/CONTRIBUTING 2.md new file mode 100644 index 00000000..0730468b --- /dev/null +++ b/CONTRIBUTING 2.md @@ -0,0 +1,8 @@ +### Reporting +Before you report something, read the reporting rules [here](https://github.com/SimpleMobileTools/General-Discussion#how-do-i-suggest-an-improvement-ask-a-question-or-report-an-issue) please. + +### Contributing as a developer +Some instructions about code style and everything that has to be done to increase the change of your code getting accepted can be found at the [General Discussion](https://github.com/SimpleMobileTools/General-Discussion#contribution-rules-for-developers) section. + +### Contributing as a non developer +In case you just want to for example improve a translation, you can find the way of doing it [here](https://github.com/SimpleMobileTools/General-Discussion#how-can-i-suggest-an-edit-to-a-file). 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 8623fd81..17e03448 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -2,11 +2,14 @@ package com.simplemobiletools.calculator.helpers import android.content.Context import android.util.Log +import com.google.gson.JsonObject import com.simplemobiletools.calculator.R import com.simplemobiletools.calculator.models.History import com.simplemobiletools.commons.extensions.showErrorToast import com.simplemobiletools.commons.extensions.toast import net.objecthunter.exp4j.ExpressionBuilder +import org.json.JSONObject +import org.json.JSONTokener import java.math.BigDecimal class CalculatorImpl( @@ -14,47 +17,35 @@ class CalculatorImpl( private val context: Context, private var decimalSeparator: String = DOT, private var groupingSeparator: String = COMMA, - - //============================================================ - aRes: String = "123", - aSavedLastOperation: String = "", - aLastKey: String = "", - aLastOperation: String = "", - aBaseValue: Double = 0.0, - aSecondValue: Double = 0.0, - aInputDisplayedFormula: String = "0" + private var json: String = "" - //============================================================ ) { private var callback: Calculator? = calculator - //============================================================ - // Trying Fix it` - public var mResult = aRes - public var previousCalculation = aSavedLastOperation - public var lastKey = aLastKey - public var lastOperation = aLastOperation - public var baseValue = aBaseValue - private var secondValue = aSecondValue - public var inputDisplayedFormula = aInputDisplayedFormula //============================================================ - //private var baseValue = 0.0 - //private var secondValue = 0.0 - //private var inputDisplayedFormula = "0" - //private var lastKey = "" - //private var lastOperation = "" + //============================================================ + private var jsonObj = json + private var mResult = "0" + private var previousCalculation = "" + private var baseValue = 0.0 + private var secondValue = 0.0 + private var inputDisplayedFormula = "0" + private var lastKey = "" + private var lastOperation = "" private val operations = listOf("+", "-", "×", "÷", "^", "%", "√") private val operationsRegex = "[-+×÷^%√]".toPattern() private val numbersRegex = "[^0-9,.]".toRegex() - private val formatter = NumberFormatHelper( decimalSeparator = decimalSeparator, groupingSeparator = groupingSeparator ) init { //============================================================ + if(jsonObj != "") { + setFromSaveInstanceState(jsonObj) + } Log.v("BASEVALUE INIT :", baseValue.toString()) Log.v("SECONDVALUE INIT :", secondValue.toString()) //showNewResult("0") @@ -484,20 +475,34 @@ class CalculatorImpl( return this.secondValue } - //JSON - public fun getJson() : String - { - val jsonObject = buildJsonObject{ - put("res", mResult) - put("savedPreviousCalculation", previousCalculation) - put("savedLastKey", lastKey) - put("savedLastOperation", lastOperation) - put("savedBaseValue", baseValue) - put("savedSecondValue", secondValue) - put("savedInputDisplayedFormula", inputDisplayedFormula) - return jsonObject.toString() + //JSON + public fun getJson() : JSONObject { + + val jsonObj = JSONObject() + jsonObj.put("res",mResult) + jsonObj.put("previousCalculation", previousCalculation) + jsonObj.put("lastKey", lastKey) + jsonObj.put("lastOperation", lastOperation) + jsonObj.put("baseValue", baseValue) + jsonObj.put("secondValue", secondValue) + jsonObj.put("inputDisplayedFormula", inputDisplayedFormula) + + return jsonObj } + + public fun setFromSaveInstanceState( json: String ) + { + val jsonObject = JSONTokener(json).nextValue() as JSONObject + mResult = jsonObject.getString("res") + previousCalculation = jsonObject.getString("previousCalculation") + baseValue = jsonObject.getDouble("baseValue") + secondValue = jsonObject.getDouble("secondValue") + inputDisplayedFormula = jsonObject.getString("inputDisplayedFormula") + lastKey = jsonObject.getString("lastKey") + lastOperation = jsonObject.getString("lastOperation") } + + } diff --git a/app/src/main/res/values-zgh/strings 2.xml b/app/src/main/res/values-zgh/strings 2.xml new file mode 100644 index 00000000..e8a0fd2d --- /dev/null +++ b/app/src/main/res/values-zgh/strings 2.xml @@ -0,0 +1,19 @@ + + + ⵜⴰⵙⵎⵙⵙⵉⴹⵏⵜ ⵜⴰⴼⵔⴰⵔⵜ + ⵜⴰⵙⵎⵙⵙⵉⴹⵏⵜ + ⵜⴰⵙⵎⵙⵙⵉⴹⵏⵜ ⵜⴰⵎⴰⵙⵙⴰⵏⵜ + + ⵜⴰⵣⴳⵍⵜ: ⴰⴱⵟⵟⵓ ⵅⴼ ⵓⵎⵢⴰ + + ⴰⵎⵣⵔⵓⵢ + ⴰⵎⵣⵔⵓⵢ ⵢⵓⵔⴰ + ⴽⴽⵙ + ⵉⵜⵜⵡⴰⴽⴽⵙ ⵓⵎⵣⵔⵓⵢ + + ⴰⵔⵎⵉⵎⵎⵉ ⴳ ⵡⴰⴱⴱⴰⵥ ⵅⴼ ⵜⴳⵎⵎⵓⵜⵉⵏ + ⵙⵎⵔⵙ ⵜⵉⵙⴽⵔⵜ ⴷ ⵜⴰⵎⴰⵜⴰⵔⵜ ⵜⴰⵎⵔⴰⵡⴰⵏⵜ + + ⵎⴰⵎⴽ ⵜⵙⵡⵓⵔⵓⵢ ⵜⴳⵎⵎⵓⵜ C (ⴽⴽⵙ)\? + ⴰⴱⴱⴰⵥ ⵅⴼ ⵓⵢⵏⵏⴰ ⴰⴷ ⵉⴽⴽⵙ ⵢⴰⵏ ⵓⵙⴽⴽⵉⵍ ⴳ ⵢⴰⵏ ⵓⵣⵎⵣ. ⵎⵛ ⵉⵍⵍⴰ ⵡⴰⴱⴱⴰⵥ ⴰⵙⵓⵍⴰⵏ ⵔⴰⴷ ⵜⵜⵓⵙⵏⴼⵍⵏ ⵎⴰⵕⵕⴰ ⵉⴳⵔⴰⵏ ⴳ ⵢⴰⵏ ⵓⵣⵎⵣ. + diff --git a/fastlane/metadata/android/en-US/changelogs/59 2.txt b/fastlane/metadata/android/en-US/changelogs/59 2.txt new file mode 100644 index 00000000..17b882fd --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/59 2.txt @@ -0,0 +1 @@ + * Added some UI, translation and stability improvements diff --git a/fastlane/metadata/android/pt-BR/short_description 2.txt b/fastlane/metadata/android/pt-BR/short_description 2.txt new file mode 100644 index 00000000..c19d0cc9 --- /dev/null +++ b/fastlane/metadata/android/pt-BR/short_description 2.txt @@ -0,0 +1 @@ +Uma linda calculadora para calculos rápidos com uma interface de usuário suave diff --git a/fastlane/metadata/android/pt-BR/title 2.txt b/fastlane/metadata/android/pt-BR/title 2.txt new file mode 100644 index 00000000..43ef335b --- /dev/null +++ b/fastlane/metadata/android/pt-BR/title 2.txt @@ -0,0 +1 @@ +Calculadora Simples From 0823b9ef6e683dc85876551e7139a980f98a8c1d Mon Sep 17 00:00:00 2001 From: Axel Labarre Date: Wed, 22 Feb 2023 22:20:08 +0100 Subject: [PATCH 12/18] Format code and clean build --- .../calculator/activities/MainActivity.kt | 7 ++----- .../calculator/helpers/CalculatorImpl.kt | 17 +++++++---------- app/src/main/res/values-zgh/strings 2.xml | 19 ------------------- .../android/en-US/changelogs/59 2.txt | 1 - .../android/pt-BR/short_description 2.txt | 1 - fastlane/metadata/android/pt-BR/title 2.txt | 1 - 6 files changed, 9 insertions(+), 37 deletions(-) delete mode 100644 app/src/main/res/values-zgh/strings 2.xml delete mode 100644 fastlane/metadata/android/en-US/changelogs/59 2.txt delete mode 100644 fastlane/metadata/android/pt-BR/short_description 2.txt delete mode 100644 fastlane/metadata/android/pt-BR/title 2.txt diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt index e7a2d245..1804d68d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt @@ -62,7 +62,6 @@ class MainActivity : SimpleActivity(), Calculator { //============================================================ - //Log.v("SAVEDRES : ", savedRes) //Log.v("SAVEDPREVIOUS : ", savedPreviousCalculation) //Log.v("SAVEDLASTKEY : ", savedLastKey) @@ -73,8 +72,7 @@ class MainActivity : SimpleActivity(), Calculator { //Log.v("SECONDVALUE : ", savedSecondValue.toString()) - - if(savedInstanceState != null) { + if (savedInstanceState != null) { Log.v("MainActivity", "LOG TEST"); //savedRes = savedInstanceState?.getCharSequence("res") as String //savedPreviousCalculation = savedInstanceState?.getCharSequence("savedPreviousCalculation") as String @@ -86,7 +84,7 @@ class MainActivity : SimpleActivity(), Calculator { json = savedInstanceState.getCharSequence("myJsonObject") as String } - calc = CalculatorImpl(this, applicationContext,decimalSeparator, groupingSeparator, json) + calc = CalculatorImpl(this, applicationContext, decimalSeparator, groupingSeparator, json) //============================================================ @@ -292,7 +290,6 @@ class MainActivity : SimpleActivity(), Calculator { //============================================================ - // ****** ADD ONSAVEINSTANCESTATE FUNCTION ****** override fun onSaveInstanceState(bundle: Bundle) { super.onSaveInstanceState(bundle) /* 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 17e03448..efda9ef3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -43,7 +43,7 @@ class CalculatorImpl( init { //============================================================ - if(jsonObj != "") { + if (jsonObj != "") { setFromSaveInstanceState(jsonObj) } Log.v("BASEVALUE INIT :", baseValue.toString()) @@ -359,14 +359,14 @@ class CalculatorImpl( private fun showNewResult(value: String) { //============================================================ - mResult = value; + mResult = value //============================================================ callback!!.showNewResult(value, context) } private fun showNewFormula(value: String) { //============================================================ - previousCalculation = value; + previousCalculation = value Log.v("BASEVALUE SHOWNF :", baseValue.toString()) Log.v("SECONDVALUE SHOWNF:", secondValue.toString()) //============================================================ @@ -470,17 +470,16 @@ class CalculatorImpl( private fun String.removeGroupSeparator() = formatter.removeGroupingSeparator(this) - public fun getSecondValueV2() : Double - { + fun getSecondValueV2(): Double { return this.secondValue } //JSON - public fun getJson() : JSONObject { + fun getJson(): JSONObject { val jsonObj = JSONObject() - jsonObj.put("res",mResult) + jsonObj.put("res", mResult) jsonObj.put("previousCalculation", previousCalculation) jsonObj.put("lastKey", lastKey) jsonObj.put("lastOperation", lastOperation) @@ -491,8 +490,7 @@ class CalculatorImpl( return jsonObj } - public fun setFromSaveInstanceState( json: String ) - { + private fun setFromSaveInstanceState(json: String) { val jsonObject = JSONTokener(json).nextValue() as JSONObject mResult = jsonObject.getString("res") previousCalculation = jsonObject.getString("previousCalculation") @@ -504,5 +502,4 @@ class CalculatorImpl( } - } diff --git a/app/src/main/res/values-zgh/strings 2.xml b/app/src/main/res/values-zgh/strings 2.xml deleted file mode 100644 index e8a0fd2d..00000000 --- a/app/src/main/res/values-zgh/strings 2.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - ⵜⴰⵙⵎⵙⵙⵉⴹⵏⵜ ⵜⴰⴼⵔⴰⵔⵜ - ⵜⴰⵙⵎⵙⵙⵉⴹⵏⵜ - ⵜⴰⵙⵎⵙⵙⵉⴹⵏⵜ ⵜⴰⵎⴰⵙⵙⴰⵏⵜ - - ⵜⴰⵣⴳⵍⵜ: ⴰⴱⵟⵟⵓ ⵅⴼ ⵓⵎⵢⴰ - - ⴰⵎⵣⵔⵓⵢ - ⴰⵎⵣⵔⵓⵢ ⵢⵓⵔⴰ - ⴽⴽⵙ - ⵉⵜⵜⵡⴰⴽⴽⵙ ⵓⵎⵣⵔⵓⵢ - - ⴰⵔⵎⵉⵎⵎⵉ ⴳ ⵡⴰⴱⴱⴰⵥ ⵅⴼ ⵜⴳⵎⵎⵓⵜⵉⵏ - ⵙⵎⵔⵙ ⵜⵉⵙⴽⵔⵜ ⴷ ⵜⴰⵎⴰⵜⴰⵔⵜ ⵜⴰⵎⵔⴰⵡⴰⵏⵜ - - ⵎⴰⵎⴽ ⵜⵙⵡⵓⵔⵓⵢ ⵜⴳⵎⵎⵓⵜ C (ⴽⴽⵙ)\? - ⴰⴱⴱⴰⵥ ⵅⴼ ⵓⵢⵏⵏⴰ ⴰⴷ ⵉⴽⴽⵙ ⵢⴰⵏ ⵓⵙⴽⴽⵉⵍ ⴳ ⵢⴰⵏ ⵓⵣⵎⵣ. ⵎⵛ ⵉⵍⵍⴰ ⵡⴰⴱⴱⴰⵥ ⴰⵙⵓⵍⴰⵏ ⵔⴰⴷ ⵜⵜⵓⵙⵏⴼⵍⵏ ⵎⴰⵕⵕⴰ ⵉⴳⵔⴰⵏ ⴳ ⵢⴰⵏ ⵓⵣⵎⵣ. - diff --git a/fastlane/metadata/android/en-US/changelogs/59 2.txt b/fastlane/metadata/android/en-US/changelogs/59 2.txt deleted file mode 100644 index 17b882fd..00000000 --- a/fastlane/metadata/android/en-US/changelogs/59 2.txt +++ /dev/null @@ -1 +0,0 @@ - * Added some UI, translation and stability improvements diff --git a/fastlane/metadata/android/pt-BR/short_description 2.txt b/fastlane/metadata/android/pt-BR/short_description 2.txt deleted file mode 100644 index c19d0cc9..00000000 --- a/fastlane/metadata/android/pt-BR/short_description 2.txt +++ /dev/null @@ -1 +0,0 @@ -Uma linda calculadora para calculos rápidos com uma interface de usuário suave diff --git a/fastlane/metadata/android/pt-BR/title 2.txt b/fastlane/metadata/android/pt-BR/title 2.txt deleted file mode 100644 index 43ef335b..00000000 --- a/fastlane/metadata/android/pt-BR/title 2.txt +++ /dev/null @@ -1 +0,0 @@ -Calculadora Simples From f9e46299381744fd44e4e6b6eee46846b9169db8 Mon Sep 17 00:00:00 2001 From: theom Date: Wed, 22 Feb 2023 23:06:23 +0100 Subject: [PATCH 13/18] cleaning code --- CONTRIBUTING 2.md | 8 --- .../calculator/activities/MainActivity.kt | 56 ++--------------- .../calculator/helpers/CalculatorImpl.kt | 63 +++---------------- 3 files changed, 15 insertions(+), 112 deletions(-) delete mode 100644 CONTRIBUTING 2.md diff --git a/CONTRIBUTING 2.md b/CONTRIBUTING 2.md deleted file mode 100644 index 0730468b..00000000 --- a/CONTRIBUTING 2.md +++ /dev/null @@ -1,8 +0,0 @@ -### Reporting -Before you report something, read the reporting rules [here](https://github.com/SimpleMobileTools/General-Discussion#how-do-i-suggest-an-improvement-ask-a-question-or-report-an-issue) please. - -### Contributing as a developer -Some instructions about code style and everything that has to be done to increase the change of your code getting accepted can be found at the [General Discussion](https://github.com/SimpleMobileTools/General-Discussion#contribution-rules-for-developers) section. - -### Contributing as a non developer -In case you just want to for example improve a translation, you can find the way of doing it [here](https://github.com/SimpleMobileTools/General-Discussion#how-can-i-suggest-an-edit-to-a-file). diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt index 1804d68d..becb69f6 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt @@ -3,7 +3,6 @@ package com.simplemobiletools.calculator.activities import android.content.Context import android.content.Intent import android.os.Bundle -import android.util.Log import android.view.View import android.view.WindowManager import androidx.core.content.res.ResourcesCompat @@ -31,18 +30,7 @@ class MainActivity : SimpleActivity(), Calculator { private var decimalSeparator = DOT private var groupingSeparator = COMMA - //============================================================ - - //private var savedRes: String = "0" - //private var savedPreviousCalculation = "" - //private var savedLastKey: String = "" - //private var savedLastOperation: String = "" - //private var savedBaseValue : Double= 0.0 - //private var savedSecondValue : Double = 0.0 - //private var savedInputDisplayedFormula : String = "0" - private var json: String = "" - - //============================================================ + private var saveCalculatorState: String = "" private lateinit var calc: CalculatorImpl @@ -59,34 +47,12 @@ class MainActivity : SimpleActivity(), Calculator { updateMaterialActivityViews(main_coordinator, null, useTransparentNavigation = false, useTopSearchMenu = false) setupMaterialScrollListener(main_nested_scrollview, main_toolbar) - //============================================================ - - - //Log.v("SAVEDRES : ", savedRes) - //Log.v("SAVEDPREVIOUS : ", savedPreviousCalculation) - //Log.v("SAVEDLASTKEY : ", savedLastKey) - //Log.v("SAVEDLASTOP : ", savedLastOperation) - //Log.v("DECIMALSEP : ", decimalSeparator) - //Log.v("GROUPINGSEP : ", groupingSeparator) - //Log.v("BASEVALUE : ", savedBaseValue.toString()) - //Log.v("SECONDVALUE : ", savedSecondValue.toString()) - - if (savedInstanceState != null) { - Log.v("MainActivity", "LOG TEST"); - //savedRes = savedInstanceState?.getCharSequence("res") as String - //savedPreviousCalculation = savedInstanceState?.getCharSequence("savedPreviousCalculation") as String - //savedLastKey = savedInstanceState?.getCharSequence("savedLastKey") as String - //savedLastOperation = savedInstanceState?.getCharSequence("savedLastOperation") as String - //savedBaseValue = savedInstanceState.getDouble("savedBaseValue") - //savedSecondValue = savedInstanceState.getDouble("savedSecondValue") - //savedInputDisplayedFormula = savedInstanceState.getCharSequence("savedInputDisplayedFormula") as String - json = savedInstanceState.getCharSequence("myJsonObject") as String + saveCalculatorState = savedInstanceState.getCharSequence("calculatorState") as String } - calc = CalculatorImpl(this, applicationContext, decimalSeparator, groupingSeparator, json) + calc = CalculatorImpl(this, applicationContext, decimalSeparator, groupingSeparator, saveCalculatorState) - //============================================================ btn_plus.setOnClickOperation(PLUS) btn_minus.setOnClickOperation(MINUS) @@ -288,21 +254,9 @@ class MainActivity : SimpleActivity(), Calculator { } } - //============================================================ - override fun onSaveInstanceState(bundle: Bundle) { super.onSaveInstanceState(bundle) - /* - bundle.putString("res", calc.mResult) - bundle.putString("savedPreviousCalculation", calc.previousCalculation) - bundle.putString("savedLastKey", calc.lastKey) - bundle.putString("savedLastOperation", calc.lastOperation) - bundle.putDouble("savedBaseValue", calc.baseValue) - bundle.putDouble("savedSecondValue", calc.getSecondValueV2()) - bundle.putString("savedInputDisplayedFormula", calc.inputDisplayedFormula) - */ - //JSON - bundle.putString("myJsonObject", calc.getJson().toString()) + + bundle.putString("calculatorState", calc.getCalculatorStateJson().toString()) } - //============================================================ } 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 efda9ef3..c8a18d22 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -1,8 +1,6 @@ package com.simplemobiletools.calculator.helpers import android.content.Context -import android.util.Log -import com.google.gson.JsonObject import com.simplemobiletools.calculator.R import com.simplemobiletools.calculator.models.History import com.simplemobiletools.commons.extensions.showErrorToast @@ -17,17 +15,11 @@ class CalculatorImpl( private val context: Context, private var decimalSeparator: String = DOT, private var groupingSeparator: String = COMMA, - private var json: String = "" - - + calculatorState: String = "" ) { private var callback: Calculator? = calculator - - //============================================================ - - //============================================================ - private var jsonObj = json - private var mResult = "0" + private var stateInstance = calculatorState + private var currentResult = "0" private var previousCalculation = "" private var baseValue = 0.0 private var secondValue = 0.0 @@ -42,16 +34,11 @@ class CalculatorImpl( ) init { - //============================================================ - if (jsonObj != "") { - setFromSaveInstanceState(jsonObj) + if (stateInstance != "") { + setFromSaveInstanceState(stateInstance) } - Log.v("BASEVALUE INIT :", baseValue.toString()) - Log.v("SECONDVALUE INIT :", secondValue.toString()) - //showNewResult("0") - showNewResult(mResult) + showNewResult(currentResult) showNewFormula(previousCalculation) - //============================================================ } private fun addDigit(number: Int) { @@ -219,10 +206,8 @@ class CalculatorImpl( private fun getSecondValue(): Double { val valueToCheck = inputDisplayedFormula.trimStart('-').removeGroupSeparator() - Log.v("VALUEToCheck GETSV :", valueToCheck) var value = valueToCheck.substring(valueToCheck.indexOfAny(operations) + 1) - Log.v("VALUE GETSV :", value) if (value == "") { value = "0" } @@ -240,8 +225,6 @@ class CalculatorImpl( baseValue = 1.0 } - Log.v("LASKEY CR :", lastKey) - if (lastKey != EQUALS) { val valueToCheck = inputDisplayedFormula.trimStart('-').removeGroupSeparator() val parts = valueToCheck.split(operationsRegex).filter { it != "" } @@ -304,14 +287,6 @@ class CalculatorImpl( return } - //============================================================ - - //mResult = result.format() - Log.v("CalculResult", result.format()) - Log.v("BASEVALUE CR :", baseValue.toString()) - Log.v("SECONDVALUE CR :", secondValue.toString()) - - //============================================================ showNewResult(result.format()) val newFormula = "${baseValue.format()}$sign${secondValue.format()}" HistoryHelper(context).insertOrUpdateHistoryEntry( @@ -319,10 +294,6 @@ class CalculatorImpl( ) showNewFormula(newFormula) - //============================================================ - //previousCalculation = newFormula - //============================================================ - inputDisplayedFormula = result.format() baseValue = result } catch (e: Exception) { @@ -358,18 +329,12 @@ class CalculatorImpl( } private fun showNewResult(value: String) { - //============================================================ - mResult = value - //============================================================ + currentResult = value callback!!.showNewResult(value, context) } private fun showNewFormula(value: String) { - //============================================================ previousCalculation = value - Log.v("BASEVALUE SHOWNF :", baseValue.toString()) - Log.v("SECONDVALUE SHOWNF:", secondValue.toString()) - //============================================================ callback!!.showNewFormula(value, context) } @@ -470,29 +435,23 @@ class CalculatorImpl( private fun String.removeGroupSeparator() = formatter.removeGroupingSeparator(this) - fun getSecondValueV2(): Double { - return this.secondValue - } - - //JSON - fun getJson(): JSONObject { + fun getCalculatorStateJson(): JSONObject { val jsonObj = JSONObject() - jsonObj.put("res", mResult) + jsonObj.put("res", currentResult) jsonObj.put("previousCalculation", previousCalculation) jsonObj.put("lastKey", lastKey) jsonObj.put("lastOperation", lastOperation) jsonObj.put("baseValue", baseValue) jsonObj.put("secondValue", secondValue) jsonObj.put("inputDisplayedFormula", inputDisplayedFormula) - return jsonObj } private fun setFromSaveInstanceState(json: String) { val jsonObject = JSONTokener(json).nextValue() as JSONObject - mResult = jsonObject.getString("res") + currentResult = jsonObject.getString("res") previousCalculation = jsonObject.getString("previousCalculation") baseValue = jsonObject.getDouble("baseValue") secondValue = jsonObject.getDouble("secondValue") @@ -500,6 +459,4 @@ class CalculatorImpl( lastKey = jsonObject.getString("lastKey") lastOperation = jsonObject.getString("lastOperation") } - - } From 95b7c6b9955f3bf8dab49b91f9a5b84da0f127e0 Mon Sep 17 00:00:00 2001 From: Axel Labarre Date: Sat, 25 Mar 2023 13:59:57 +0100 Subject: [PATCH 14/18] consideration of remarks : using constants and remove empty line Co-authored-by: theom --- .../calculator/helpers/CalculatorImpl.kt | 17 +++++++---------- .../calculator/helpers/Constants.kt | 8 ++++++++ 2 files changed, 15 insertions(+), 10 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 c8a18d22..199d05f1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -243,8 +243,6 @@ class CalculatorImpl( } secondValue = parts.getOrNull(1)?.toDouble() ?: secondValue - - } if (lastOperation != "") { @@ -437,15 +435,14 @@ class CalculatorImpl( fun getCalculatorStateJson(): JSONObject { - val jsonObj = JSONObject() - jsonObj.put("res", currentResult) - jsonObj.put("previousCalculation", previousCalculation) - jsonObj.put("lastKey", lastKey) - jsonObj.put("lastOperation", lastOperation) - jsonObj.put("baseValue", baseValue) - jsonObj.put("secondValue", secondValue) - jsonObj.put("inputDisplayedFormula", inputDisplayedFormula) + jsonObj.put(RES, currentResult) + jsonObj.put(PREVIOUS_CALCULATION, previousCalculation) + jsonObj.put(LAST_KEY, lastKey) + jsonObj.put(LAST_OPERATION, lastOperation) + jsonObj.put(BASE_VALUE, baseValue) + jsonObj.put(SECOND_VALUE, secondValue) + jsonObj.put(INPUT_DISPLAYED_FORMULA, inputDisplayedFormula) return jsonObj } diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Constants.kt index a00ac851..71e79989 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Constants.kt @@ -30,3 +30,11 @@ const val COMMA = "," // shared prefs const val USE_COMMA_AS_DECIMAL_MARK = "use_comma_as_decimal_mark" + +const val RES = "res" +const val PREVIOUS_CALCULATION = "previousCalculation" +const val LAST_KEY = "lastKey" +const val LAST_OPERATION = "lastOperation" +const val BASE_VALUE = "baseValue" +const val SECOND_VALUE = "secondValue" +const val INPUT_DISPLAYED_FORMULA = "inputDisplayedFormula" From 74071bee5aebff5c96678cad0de7ac8651058170 Mon Sep 17 00:00:00 2001 From: Axel Labarre Date: Sat, 25 Mar 2023 22:43:06 +0100 Subject: [PATCH 15/18] use constants to avoid issues caused by typos --- .../calculator/activities/MainActivity.kt | 5 ++--- .../calculator/helpers/CalculatorImpl.kt | 14 +++++++------- .../calculator/helpers/Constants.kt | 2 ++ 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt index becb69f6..681a165e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt @@ -48,7 +48,7 @@ class MainActivity : SimpleActivity(), Calculator { setupMaterialScrollListener(main_nested_scrollview, main_toolbar) if (savedInstanceState != null) { - saveCalculatorState = savedInstanceState.getCharSequence("calculatorState") as String + saveCalculatorState = savedInstanceState.getCharSequence(CALCULATOR_STATE) as String } calc = CalculatorImpl(this, applicationContext, decimalSeparator, groupingSeparator, saveCalculatorState) @@ -256,7 +256,6 @@ class MainActivity : SimpleActivity(), Calculator { override fun onSaveInstanceState(bundle: Bundle) { super.onSaveInstanceState(bundle) - - bundle.putString("calculatorState", calc.getCalculatorStateJson().toString()) + bundle.putString(CALCULATOR_STATE, calc.getCalculatorStateJson().toString()) } } 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 199d05f1..a9682275 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -448,12 +448,12 @@ class CalculatorImpl( private fun setFromSaveInstanceState(json: String) { val jsonObject = JSONTokener(json).nextValue() as JSONObject - currentResult = jsonObject.getString("res") - previousCalculation = jsonObject.getString("previousCalculation") - baseValue = jsonObject.getDouble("baseValue") - secondValue = jsonObject.getDouble("secondValue") - inputDisplayedFormula = jsonObject.getString("inputDisplayedFormula") - lastKey = jsonObject.getString("lastKey") - lastOperation = jsonObject.getString("lastOperation") + currentResult = jsonObject.getString(RES) + previousCalculation = jsonObject.getString(PREVIOUS_CALCULATION) + baseValue = jsonObject.getDouble(BASE_VALUE) + secondValue = jsonObject.getDouble(SECOND_VALUE) + inputDisplayedFormula = jsonObject.getString(INPUT_DISPLAYED_FORMULA) + lastKey = jsonObject.getString(LAST_KEY) + lastOperation = jsonObject.getString(LAST_OPERATION) } } diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Constants.kt index 71e79989..6519b925 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Constants.kt @@ -38,3 +38,5 @@ const val LAST_OPERATION = "lastOperation" const val BASE_VALUE = "baseValue" const val SECOND_VALUE = "secondValue" const val INPUT_DISPLAYED_FORMULA = "inputDisplayedFormula" + +const val CALCULATOR_STATE = "calculatorState" From 9734007b59daa5bdc3f2ccb65c8e6fe846026db8 Mon Sep 17 00:00:00 2001 From: Axel Labarre Date: Wed, 10 May 2023 22:35:02 +0200 Subject: [PATCH 16/18] remove empty lines --- .../calculator/activities/MainActivity.kt | 9 --------- .../calculator/helpers/CalculatorImpl.kt | 1 - .../simplemobiletools/calculator/helpers/Constants.kt | 2 -- 3 files changed, 12 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt index 681a165e..42e6fa67 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt @@ -29,12 +29,9 @@ class MainActivity : SimpleActivity(), Calculator { private var storedUseCommaAsDecimalMark = false private var decimalSeparator = DOT private var groupingSeparator = COMMA - private var saveCalculatorState: String = "" - private lateinit var calc: CalculatorImpl - override fun onCreate(savedInstanceState: Bundle?) { isMaterialActivity = true super.onCreate(savedInstanceState) @@ -42,8 +39,6 @@ class MainActivity : SimpleActivity(), Calculator { appLaunched(BuildConfig.APPLICATION_ID) setupOptionsMenu() refreshMenuItems() - - updateMaterialActivityViews(main_coordinator, null, useTransparentNavigation = false, useTopSearchMenu = false) setupMaterialScrollListener(main_nested_scrollview, main_toolbar) @@ -52,8 +47,6 @@ class MainActivity : SimpleActivity(), Calculator { } calc = CalculatorImpl(this, applicationContext, decimalSeparator, groupingSeparator, saveCalculatorState) - - btn_plus.setOnClickOperation(PLUS) btn_minus.setOnClickOperation(MINUS) btn_multiply.setOnClickOperation(MULTIPLY) @@ -62,7 +55,6 @@ class MainActivity : SimpleActivity(), Calculator { btn_power.setOnClickOperation(POWER) btn_root.setOnClickOperation(ROOT) btn_minus.setOnLongClickListener { calc.turnToNegative() } - btn_clear.setVibratingOnClickListener { calc.handleClear() } btn_clear.setOnLongClickListener { calc.handleReset() @@ -78,7 +70,6 @@ class MainActivity : SimpleActivity(), Calculator { btn_equals.setVibratingOnClickListener { calc.handleEquals() } formula.setOnLongClickListener { copyToClipboard(false) } result.setOnLongClickListener { copyToClipboard(true) } - AutofitHelper.create(result) AutofitHelper.create(formula) storeStateVariables() 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 a9682275..dbdf420d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -433,7 +433,6 @@ class CalculatorImpl( private fun String.removeGroupSeparator() = formatter.removeGroupingSeparator(this) - fun getCalculatorStateJson(): JSONObject { val jsonObj = JSONObject() jsonObj.put(RES, currentResult) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Constants.kt index 6519b925..aa4c0362 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Constants.kt @@ -30,7 +30,6 @@ const val COMMA = "," // shared prefs const val USE_COMMA_AS_DECIMAL_MARK = "use_comma_as_decimal_mark" - const val RES = "res" const val PREVIOUS_CALCULATION = "previousCalculation" const val LAST_KEY = "lastKey" @@ -38,5 +37,4 @@ const val LAST_OPERATION = "lastOperation" const val BASE_VALUE = "baseValue" const val SECOND_VALUE = "secondValue" const val INPUT_DISPLAYED_FORMULA = "inputDisplayedFormula" - const val CALCULATOR_STATE = "calculatorState" From da943770df8da1502739fda30a941f33f155a3fc Mon Sep 17 00:00:00 2001 From: Axel Labarre Date: Wed, 10 May 2023 23:02:53 +0200 Subject: [PATCH 17/18] using same order of constants writed in json object --- .../simplemobiletools/calculator/helpers/CalculatorImpl.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 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 dbdf420d..480978ea 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -449,10 +449,10 @@ class CalculatorImpl( val jsonObject = JSONTokener(json).nextValue() as JSONObject currentResult = jsonObject.getString(RES) previousCalculation = jsonObject.getString(PREVIOUS_CALCULATION) + lastKey = jsonObject.getString(LAST_KEY) + lastOperation = jsonObject.getString(LAST_OPERATION) baseValue = jsonObject.getDouble(BASE_VALUE) secondValue = jsonObject.getDouble(SECOND_VALUE) inputDisplayedFormula = jsonObject.getString(INPUT_DISPLAYED_FORMULA) - lastKey = jsonObject.getString(LAST_KEY) - lastOperation = jsonObject.getString(LAST_OPERATION) } } From e764b2b1033bf6c0b3220887b02bbdb71dcff006 Mon Sep 17 00:00:00 2001 From: Tibor Kaputa Date: Sun, 14 May 2023 21:55:57 +0200 Subject: [PATCH 18/18] Moving an override function up --- .../calculator/activities/MainActivity.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt index 42e6fa67..cff7c9de 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt @@ -123,6 +123,11 @@ class MainActivity : SimpleActivity(), Calculator { } } + override fun onSaveInstanceState(bundle: Bundle) { + super.onSaveInstanceState(bundle) + bundle.putString(CALCULATOR_STATE, calc.getCalculatorStateJson().toString()) + } + private fun setupOptionsMenu() { main_toolbar.setOnMenuItemClickListener { menuItem -> when (menuItem.itemId) { @@ -244,9 +249,4 @@ class MainActivity : SimpleActivity(), Calculator { calc.handleOperation(operation) } } - - override fun onSaveInstanceState(bundle: Bundle) { - super.onSaveInstanceState(bundle) - bundle.putString(CALCULATOR_STATE, calc.getCalculatorStateJson().toString()) - } }