diff --git a/README.md b/README.md index b4306567..7caa3346 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ This app is just one piece of a bigger series of apps. You can find the rest of App image -
+
It contains a couple UI and unit tests, they can be ran with the following instructions.

Running Espresso UI tests

diff --git a/app/src/androidTest/java/com/simplemobiletools/calculator/MainActivityTest.java b/app/src/androidTest/java/com/simplemobiletools/calculator/MainActivityTest.java index 67286c51..001b9b0e 100644 --- a/app/src/androidTest/java/com/simplemobiletools/calculator/MainActivityTest.java +++ b/app/src/androidTest/java/com/simplemobiletools/calculator/MainActivityTest.java @@ -1,7 +1,7 @@ package com.simplemobiletools.calculator; import androidx.test.rule.ActivityTestRule; -import androidx.test.runner.AndroidJUnit4; +import androidx.test.ext.junit.runners.AndroidJUnit4; import com.simplemobiletools.calculator.activities.MainActivity; diff --git a/app/src/androidTest/java/com/simplemobiletools/calculator/PercentTests.kt b/app/src/androidTest/java/com/simplemobiletools/calculator/PercentTests.kt index 0b742148..8987499a 100644 --- a/app/src/androidTest/java/com/simplemobiletools/calculator/PercentTests.kt +++ b/app/src/androidTest/java/com/simplemobiletools/calculator/PercentTests.kt @@ -6,7 +6,7 @@ import androidx.test.espresso.assertion.ViewAssertions import androidx.test.espresso.matcher.ViewMatchers import androidx.test.espresso.matcher.ViewMatchers.withId import androidx.test.rule.ActivityTestRule -import androidx.test.runner.AndroidJUnit4 +import androidx.test.ext.junit.runners.AndroidJUnit4 import com.simplemobiletools.calculator.activities.MainActivity import org.junit.Rule import org.junit.Test @@ -74,11 +74,11 @@ class PercentTests { } private fun press(id: Int) { - Espresso.onView(ViewMatchers.withId(id)).perform(ViewActions.click()) + Espresso.onView(withId(id)).perform(ViewActions.click()) } private fun longPress(id: Int) { - Espresso.onView(ViewMatchers.withId(id)).perform(ViewActions.longClick()) + Espresso.onView(withId(id)).perform(ViewActions.longClick()) } private fun checkResult(desired: String) { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 11aa583f..61781fb3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -5,7 +5,7 @@ android:installLocation="auto"> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 c9d3ecb0..0bbf97b7 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/MainActivity.kt @@ -7,11 +7,11 @@ import android.view.Menu import android.view.MenuItem import android.view.View import android.view.WindowManager -import com.simplemobiletools.calculator.BuildConfig import com.simplemobiletools.calculator.R import com.simplemobiletools.calculator.extensions.config import com.simplemobiletools.calculator.extensions.updateViewColors import com.simplemobiletools.calculator.helpers.* +import com.simplemobiletools.calculator.BuildConfig import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.LICENSE_AUTOFITTEXTVIEW import com.simplemobiletools.commons.helpers.LICENSE_ESPRESSO @@ -20,6 +20,7 @@ import com.simplemobiletools.commons.models.FAQItem import com.simplemobiletools.commons.models.Release import kotlinx.android.synthetic.main.activity_main.* import me.grantland.widget.AutofitHelper +import java.math.BigDecimal class MainActivity : SimpleActivity(), Calculator { private var storedTextColor = 0 @@ -155,8 +156,8 @@ class MainActivity : SimpleActivity(), Calculator { } // used only by Robolectric - override fun setValueDouble(d: Double) { - calc.setValue(Formatter.doubleToString(d)) + override fun setValueBigDecimal(d: BigDecimal) { + calc.setValue(Formatter.bigDecimalToString(d)) calc.lastKey = DIGIT } diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/SettingsActivity.kt index 84161b5e..05e24f7d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/activities/SettingsActivity.kt @@ -11,6 +11,7 @@ import com.simplemobiletools.commons.extensions.updateTextColors import com.simplemobiletools.commons.helpers.IS_CUSTOMIZING_COLORS import kotlinx.android.synthetic.main.activity_settings.* import java.util.* +import kotlin.system.exitProcess class SettingsActivity : SimpleActivity() { @@ -50,7 +51,7 @@ class SettingsActivity : SimpleActivity() { settings_use_english_holder.setOnClickListener { settings_use_english.toggle() config.useEnglish = settings_use_english.isChecked - System.exit(0) + exitProcess(0) } } diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Calculator.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Calculator.kt index 1ad20b9f..3fa73431 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Calculator.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Calculator.kt @@ -1,11 +1,12 @@ package com.simplemobiletools.calculator.helpers import android.content.Context +import java.math.BigDecimal interface Calculator { fun setValue(value: String, context: Context) - fun setValueDouble(d: Double) + fun setValueBigDecimal(d: BigDecimal) fun setFormula(value: String, context: Context) } 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 afa69f75..c009db1d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -5,6 +5,7 @@ import android.util.Log import com.simplemobiletools.calculator.R import com.simplemobiletools.calculator.operation.OperationFactory import com.simplemobiletools.commons.extensions.toast +import java.math.BigDecimal class CalculatorImpl(calculator: Calculator, val context: Context) { var displayedNumber: String? = null @@ -15,8 +16,8 @@ class CalculatorImpl(calculator: Calculator, val context: Context) { private var isFirstOperation = false private var resetValue = false - private var baseValue = 0.0 - private var secondValue = 0.0 + private var baseValue: BigDecimal = BigDecimal.ZERO + private var secondValue: BigDecimal = BigDecimal.ZERO init { resetValues() @@ -32,8 +33,8 @@ class CalculatorImpl(calculator: Calculator, val context: Context) { } private fun resetValues() { - baseValue = 0.0 - secondValue = 0.0 + baseValue = BigDecimal.ZERO + secondValue = BigDecimal.ZERO resetValue = false lastOperation = "" displayedNumber = "" @@ -61,7 +62,7 @@ class CalculatorImpl(calculator: Calculator, val context: Context) { sign == "√" -> setFormula(sign + first) sign == "!" -> setFormula(first + sign) sign.isNotEmpty() -> { - if (secondValue == 0.0 && sign == "/") { + if (secondValue.compareTo(BigDecimal.ZERO) == 0 && sign == "/") { context.toast(context.getString(R.string.formula_divide_by_zero_error)) } @@ -83,16 +84,16 @@ class CalculatorImpl(calculator: Calculator, val context: Context) { return str } - val doubleValue = Formatter.stringToDouble(str) + val doubleValue = Formatter.stringToBigDecimal(str) return doubleValue.format() } - private fun updateResult(value: Double) { + private fun updateResult(value: BigDecimal) { setValue(value.format()) baseValue = value } - private fun getDisplayedNumberAsDouble() = Formatter.stringToDouble(displayedNumber!!) + private fun getDisplayedNumberAsDouble() = Formatter.stringToBigDecimal(displayedNumber!!) fun handleResult() { secondValue = getDisplayedNumberAsDouble() diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Formatter.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Formatter.kt index c98fb297..f7941ea0 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Formatter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Formatter.kt @@ -1,23 +1,24 @@ package com.simplemobiletools.calculator.helpers +import java.math.BigDecimal import java.text.DecimalFormat import java.text.DecimalFormatSymbols import java.util.* object Formatter { - fun doubleToString(d: Double): String { + fun bigDecimalToString(d: BigDecimal): String { val symbols = DecimalFormatSymbols(Locale.US) symbols.decimalSeparator = '.' symbols.groupingSeparator = ',' val formatter = DecimalFormat() - formatter.maximumFractionDigits = 12 + formatter.maximumFractionDigits = 50 formatter.decimalFormatSymbols = symbols formatter.isGroupingUsed = true return formatter.format(d) } - fun stringToDouble(str: String) = str.replace(",", "").toDouble() + fun stringToBigDecimal(str: String): BigDecimal = BigDecimal(str.replace(",", "")) } -fun Double.format(): String = Formatter.doubleToString(this) +fun BigDecimal.format(): String = Formatter.bigDecimalToString(this) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/MyWidgetProvider.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/MyWidgetProvider.kt index d7ab0d60..51a056a6 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/MyWidgetProvider.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/MyWidgetProvider.kt @@ -12,8 +12,8 @@ import com.simplemobiletools.calculator.R import com.simplemobiletools.calculator.activities.MainActivity import com.simplemobiletools.calculator.extensions.config import com.simplemobiletools.commons.extensions.applyColorFilter -import com.simplemobiletools.commons.extensions.setBackgroundColor import com.simplemobiletools.commons.extensions.setText +import java.math.BigDecimal class MyWidgetProvider : AppWidgetProvider(), Calculator { companion object { @@ -85,8 +85,7 @@ class MyWidgetProvider : AppWidgetProvider(), Calculator { } override fun onReceive(context: Context, intent: Intent) { - val action = intent.action - when (action) { + when (val action = intent.action) { DECIMAL, ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, EQUALS, CLEAR, RESET, PLUS, MINUS, MULTIPLY, DIVIDE, PERCENT, POWER, ROOT, FACTORIAL -> myAction(action, context) else -> super.onReceive(context, intent) } @@ -125,7 +124,7 @@ class MyWidgetProvider : AppWidgetProvider(), Calculator { } } - override fun setValueDouble(d: Double) { + override fun setValueBigDecimal(d: BigDecimal) { } override fun setFormula(value: String, context: Context) { diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/DivideOperation.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/DivideOperation.kt index f11eb0d5..30354a2e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/DivideOperation.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/DivideOperation.kt @@ -2,14 +2,16 @@ package com.simplemobiletools.calculator.operation import com.simplemobiletools.calculator.operation.base.BinaryOperation import com.simplemobiletools.calculator.operation.base.Operation +import java.math.BigDecimal +import java.math.MathContext.DECIMAL128 -class DivideOperation(baseValue: Double, secondValue: Double) : BinaryOperation(baseValue, secondValue), Operation { +class DivideOperation(baseValue: BigDecimal, secondValue: BigDecimal) : BinaryOperation(baseValue, secondValue), Operation { - override fun getResult(): Double { - var result = 0.0 - if (secondValue != 0.0) { - result = baseValue / secondValue + override fun getResult(): BigDecimal { + return if (secondValue.compareTo(BigDecimal.ZERO) == 0) { + BigDecimal.ZERO + } else { + baseValue.divide(secondValue, DECIMAL128) } - return result } } diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/FactorialOperation.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/FactorialOperation.kt index d8be339a..31907500 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/FactorialOperation.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/FactorialOperation.kt @@ -2,19 +2,20 @@ package com.simplemobiletools.calculator.operation import com.simplemobiletools.calculator.operation.base.Operation import com.simplemobiletools.calculator.operation.base.UnaryOperation +import java.math.BigDecimal -class FactorialOperation(value: Double) : UnaryOperation(value), Operation { +class FactorialOperation(value: BigDecimal) : UnaryOperation(value), Operation { - override fun getResult(): Double{ - var result = 1.0 - if (value==0.0 || value==1.0){ - return result - }else{ - var base = value.toInt() + override fun getResult(): BigDecimal { + return if (value.compareTo(BigDecimal.ZERO) == 0 || value.compareTo(BigDecimal.ONE) == 0 ){ + BigDecimal.ONE + } else{ + var result = BigDecimal.ONE + val base = value.toInt() for(i in 1..base){ - result *= i + result = result.multiply(BigDecimal(i)) } + result } - return result } } diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/MinusOperation.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/MinusOperation.kt index e79e2896..fec5bae1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/MinusOperation.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/MinusOperation.kt @@ -2,8 +2,9 @@ package com.simplemobiletools.calculator.operation import com.simplemobiletools.calculator.operation.base.BinaryOperation import com.simplemobiletools.calculator.operation.base.Operation +import java.math.BigDecimal -class MinusOperation(baseValue: Double, secondValue: Double) : BinaryOperation(baseValue, secondValue), Operation { +class MinusOperation(baseValue: BigDecimal, secondValue: BigDecimal) : BinaryOperation(baseValue, secondValue), Operation { - override fun getResult() = baseValue - secondValue + override fun getResult(): BigDecimal = baseValue.subtract(secondValue) } diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/MultiplyOperation.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/MultiplyOperation.kt index e9fe57a1..e2de9700 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/MultiplyOperation.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/MultiplyOperation.kt @@ -2,8 +2,9 @@ package com.simplemobiletools.calculator.operation import com.simplemobiletools.calculator.operation.base.BinaryOperation import com.simplemobiletools.calculator.operation.base.Operation +import java.math.BigDecimal -class MultiplyOperation(baseValue: Double, secondValue: Double) : BinaryOperation(baseValue, secondValue), Operation { +class MultiplyOperation(baseValue: BigDecimal, secondValue: BigDecimal) : BinaryOperation(baseValue, secondValue), Operation { - override fun getResult() = baseValue * secondValue + override fun getResult(): BigDecimal = baseValue.multiply(secondValue) } diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/OperationFactory.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/OperationFactory.kt index 091aa4f7..7a66676f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/OperationFactory.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/OperationFactory.kt @@ -2,10 +2,11 @@ package com.simplemobiletools.calculator.operation import com.simplemobiletools.calculator.helpers.* import com.simplemobiletools.calculator.operation.base.Operation +import java.math.BigDecimal object OperationFactory { - fun forId(id: String, baseValue: Double, secondValue: Double): Operation? { + fun forId(id: String, baseValue: BigDecimal, secondValue: BigDecimal): Operation? { return when (id) { PLUS -> PlusOperation(baseValue, secondValue) MINUS -> MinusOperation(baseValue, secondValue) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/PercentOperation.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/PercentOperation.kt index c8ffd192..e01089ec 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/PercentOperation.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/PercentOperation.kt @@ -2,14 +2,15 @@ package com.simplemobiletools.calculator.operation import com.simplemobiletools.calculator.operation.base.BinaryOperation import com.simplemobiletools.calculator.operation.base.Operation +import java.math.BigDecimal -class PercentOperation(baseValue: Double, secondValue: Double) : BinaryOperation(baseValue, secondValue), Operation { +class PercentOperation(baseValue: BigDecimal, secondValue: BigDecimal) : BinaryOperation(baseValue, secondValue), Operation { - override fun getResult(): Double { - var result = 0.0 - if (secondValue != 0.0) { - result = baseValue / 100 * secondValue + override fun getResult(): BigDecimal { + return if (secondValue.compareTo(BigDecimal.ZERO) == 0) { + BigDecimal.ZERO + } else { + baseValue.divide(BigDecimal(100)).multiply(secondValue) } - return result } } diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/PlusOperation.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/PlusOperation.kt index ff124fed..a8019fb1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/PlusOperation.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/PlusOperation.kt @@ -2,8 +2,9 @@ package com.simplemobiletools.calculator.operation import com.simplemobiletools.calculator.operation.base.BinaryOperation import com.simplemobiletools.calculator.operation.base.Operation +import java.math.BigDecimal -class PlusOperation(baseValue: Double, secondValue: Double) : BinaryOperation(baseValue, secondValue), Operation { +class PlusOperation(baseValue: BigDecimal, secondValue: BigDecimal) : BinaryOperation(baseValue, secondValue), Operation { - override fun getResult() = baseValue + secondValue + override fun getResult(): BigDecimal = baseValue.add(secondValue) } diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/PowerOperation.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/PowerOperation.kt index 713f0d05..55214212 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/PowerOperation.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/PowerOperation.kt @@ -2,13 +2,18 @@ package com.simplemobiletools.calculator.operation import com.simplemobiletools.calculator.operation.base.BinaryOperation import com.simplemobiletools.calculator.operation.base.Operation +import java.math.BigDecimal +import kotlin.math.pow -class PowerOperation(baseValue: Double, secondValue: Double) : BinaryOperation(baseValue, secondValue), Operation { +class PowerOperation(baseValue: BigDecimal, secondValue: BigDecimal) : BinaryOperation(baseValue, secondValue), Operation { - override fun getResult(): Double { - var result = Math.pow(baseValue, secondValue) - if (java.lang.Double.isInfinite(result) || java.lang.Double.isNaN(result)) - result = 0.0 - return result + override fun getResult(): BigDecimal { + val result = baseValue.toDouble().pow(secondValue.toDouble()) + + return if (java.lang.Double.isInfinite(result) || java.lang.Double.isNaN(result)) + BigDecimal.ZERO + else { + BigDecimal(result) + } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/RootOperation.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/RootOperation.kt index c4a40304..c73db5bd 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/RootOperation.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/RootOperation.kt @@ -2,8 +2,10 @@ package com.simplemobiletools.calculator.operation import com.simplemobiletools.calculator.operation.base.Operation import com.simplemobiletools.calculator.operation.base.UnaryOperation +import java.math.BigDecimal +import kotlin.math.sqrt -class RootOperation(value: Double) : UnaryOperation(value), Operation { +class RootOperation(value: BigDecimal) : UnaryOperation(value), Operation { - override fun getResult() = Math.sqrt(value) + override fun getResult() = BigDecimal(sqrt(value.toDouble())) } diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/base/BinaryOperation.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/base/BinaryOperation.kt index febdff81..4a1ca223 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/base/BinaryOperation.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/base/BinaryOperation.kt @@ -1,3 +1,5 @@ package com.simplemobiletools.calculator.operation.base -open class BinaryOperation protected constructor(protected var baseValue: Double, protected var secondValue: Double) +import java.math.BigDecimal + +open class BinaryOperation protected constructor(protected val baseValue: BigDecimal, protected val secondValue: BigDecimal) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/base/Operation.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/base/Operation.kt index 03560d01..f33161ec 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/base/Operation.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/base/Operation.kt @@ -1,5 +1,7 @@ package com.simplemobiletools.calculator.operation.base +import java.math.BigDecimal + interface Operation { - fun getResult(): Double + fun getResult(): BigDecimal } diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/base/UnaryOperation.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/base/UnaryOperation.kt index 5970a505..ce74108e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/base/UnaryOperation.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/base/UnaryOperation.kt @@ -1,3 +1,5 @@ package com.simplemobiletools.calculator.operation.base -open class UnaryOperation protected constructor(protected var value: Double) +import java.math.BigDecimal + +open class UnaryOperation protected constructor(protected var value: BigDecimal) diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 41ffc285..3d41dd1e 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -5,7 +5,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - tools:context=".activities.MainActivity" + tools:context="com.simplemobiletools.calculator.activities.MainActivity" tools:ignore="HardcodedText">