From 5ecff10644a7672071394640cab7bd0279c3ba71 Mon Sep 17 00:00:00 2001 From: Danil Ochagov Date: Mon, 18 May 2020 17:45:52 +0300 Subject: [PATCH 1/4] Add division by zero message --- .../calculator/helpers/CalculatorImpl.kt | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 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 3d527d05..6558caee 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -56,13 +56,21 @@ class CalculatorImpl(calculator: Calculator, val context: Context) { val second = secondValue.format() val sign = getSign(lastOperation) - if (sign == "√") { - setFormula(sign + first) - } else if (sign == "!") { - setFormula(first + sign) - } else if (!sign.isEmpty()) { - var formula = first + sign + second - setFormula(formula) + when { + baseValue == 0.0 && secondValue == 0.0 && sign == "/" -> { + setFormula("Error: division by zero") + } + + sign == "√" -> setFormula(sign + first) + + sign == "!" -> setFormula(first + sign) + + else -> { + if (sign.isNotEmpty()) { + val formula = first + sign + second + setFormula(formula) + } + } } } From f13b72d04bb1398a913610e55924ce8da567714a Mon Sep 17 00:00:00 2001 From: Danil Ochagov Date: Tue, 19 May 2020 13:19:28 +0300 Subject: [PATCH 2/4] Add division by zero message in strings.xml --- .../com/simplemobiletools/calculator/helpers/CalculatorImpl.kt | 2 +- app/src/main/res/values-ar/strings.xml | 3 +++ app/src/main/res/values-az/strings.xml | 3 +++ app/src/main/res/values-cs/strings.xml | 3 +++ app/src/main/res/values-cy/strings.xml | 3 +++ app/src/main/res/values-de/strings.xml | 3 +++ app/src/main/res/values-el/strings.xml | 3 +++ app/src/main/res/values-es/strings.xml | 3 +++ app/src/main/res/values-fr/strings.xml | 3 +++ app/src/main/res/values-hr/strings.xml | 3 +++ app/src/main/res/values-id/strings.xml | 3 +++ app/src/main/res/values-in/strings.xml | 3 +++ app/src/main/res/values-it/strings.xml | 3 +++ app/src/main/res/values-ja/strings.xml | 3 +++ app/src/main/res/values-lt/strings.xml | 3 +++ app/src/main/res/values-nl/strings.xml | 3 +++ app/src/main/res/values-pl/strings.xml | 3 +++ app/src/main/res/values-pt/strings.xml | 3 +++ app/src/main/res/values-ru/strings.xml | 3 +++ app/src/main/res/values-sk/strings.xml | 3 +++ app/src/main/res/values-sv/strings.xml | 3 +++ app/src/main/res/values-tr/strings.xml | 3 +++ app/src/main/res/values-uk/strings.xml | 3 +++ app/src/main/res/values-zh-rTW/strings.xml | 3 +++ app/src/main/res/values/strings.xml | 3 +++ 25 files changed, 73 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt index 6558caee..9e8ad843 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -58,7 +58,7 @@ class CalculatorImpl(calculator: Calculator, val context: Context) { when { baseValue == 0.0 && secondValue == 0.0 && sign == "/" -> { - setFormula("Error: division by zero") + setFormula(context.getString(R.string.formula_divide_by_zero_error)) } sign == "√" -> setFormula(sign + first) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 33d609e8..cb4154f7 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -3,6 +3,9 @@ الحاسبة Scientific Calculator + + خطأ: القسمة على صفر + الاهتزاز عند الضغط على الازرار diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index eb639e5b..207d52dd 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -3,6 +3,9 @@ Kalkulyator Scientific Calculator + + Səhv: sıfıra bölünmə + Düyməyə basdıqda titrə diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 38892ec2..959740a0 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -3,6 +3,9 @@ Kalkulačka Vědecká kalkulačka + + Chyba: dělení nulou + Vibrovat při stisku tlačítka diff --git a/app/src/main/res/values-cy/strings.xml b/app/src/main/res/values-cy/strings.xml index b0f3e13d..b4057e9e 100644 --- a/app/src/main/res/values-cy/strings.xml +++ b/app/src/main/res/values-cy/strings.xml @@ -3,6 +3,9 @@ Cyfrifiannell Cyfrifiannell Gwyddonol + + Gwall: rhannu â sero + Dirgrynu wrth wasgu botymau diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 6b2760bc..d36ec9ca 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -3,6 +3,9 @@ Rechnerng> Wissenschaftlicher Rechner + + Fehler: Division durch Null + Bei Tastendruck vibrieren diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index c0cb69ed..a3b5123e 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -3,6 +3,9 @@ Αριθμομηχανή Επιστημονική Αριθμομηχανή + + Σφάλμα: διαίρεση με μηδέν + Δόνηση στο πάτημα πλήκτρου diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 0f9fa8eb..adafe97d 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -3,6 +3,9 @@ Calculadora Calculadora Científica + + Error: división por cero + Vibrar al presionar un botón diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index af3c1794..c51c2ab9 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -3,6 +3,9 @@ Calculatrice Scientific Calculator + + Erreur: division par zéro + Vibrer lors de l\'appui sur les boutons diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index ab4a7b5a..7a0468bf 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -3,6 +3,9 @@ Kalkulator Znanstveni kalkulator + + Pogreška: podjela prema nuli + Vibriraj prilikom pritiska na gumb diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index 2d7c8e4f..32267811 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -3,6 +3,9 @@ Kalkulator Kalkulator Sains + + Kesalahan: pembagian dengan nol + Getar saat tombol ditekan diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 2d7c8e4f..32267811 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -3,6 +3,9 @@ Kalkulator Kalkulator Sains + + Kesalahan: pembagian dengan nol + Getar saat tombol ditekan diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 8f3f0792..42d8dc02 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -3,6 +3,9 @@ Calcolatrice Calcolatrice scientifica + + Errore: divisione per zero + Vibra alla pressione di un tasto diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 82856bb0..0231629e 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -3,6 +3,9 @@ 電卓 Scientific Calculator + + エラー:ゼロによる除算 + ボタンのタップ時に振動する diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 934ce411..52076e67 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -3,6 +3,9 @@ Skaičiuotuvas Scientific Calculator + + Klaida: padalijimas iš nulio + Vibruoti kai spaudžiami mygtukai diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index c70e82eb..44860565 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -3,6 +3,9 @@ Rekenmachine Wetenschappelijke Rekenmachine + + Fout: delen door nul + Trillen bij toetsaanslagen diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index b3cd49b2..4190ced4 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -3,6 +3,9 @@ Kalkulator Scientific Calculator + + Błąd: dzielenie przez zero +    Wibracja po wciśnięciu przycisku diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 44e034cf..122e8d9e 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -3,6 +3,9 @@ Calculadora Calculadora científica + + Erro: divisão por zero + Vibrar ao tocar nos botões diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 477b622e..8c959ebe 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -3,6 +3,9 @@ Калькулятор Научный калькулятор + + Ошибка: деление на ноль + Вибрация при нажатии кнопок diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml index 02bd2a14..e04ca8ea 100644 --- a/app/src/main/res/values-sk/strings.xml +++ b/app/src/main/res/values-sk/strings.xml @@ -3,6 +3,9 @@ Kalkulačka Vedecká kalkulačka + + Chyba: delenie nulou + Vibrovať pri stlačení tlačidla diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index c4dc0a30..5c3ebd2a 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -3,6 +3,9 @@ Kalkylator Avancerad kalkylator + + Fel: delning med noll + Vibrera när jag trycker på knapparna diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 591970de..706df9a0 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -3,6 +3,9 @@ Hesap Makinesi Bilimsel Hesap Makinesi + + Hata: sıfıra bölme + Düğmeye basıldığında titret diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 42ea4606..aa8b0705 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -3,6 +3,9 @@ Калькулятор Науковий Калькулятор + + Помилка: ділення на нуль + Вібрувати з натиском кнопок diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index aa7e8dc9..0a0ab80e 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -3,6 +3,9 @@ 簡易計算機 工程計算機 + + 錯誤:被零除 + 按下按鈕時震動 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 73766c26..75e1b3d7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -3,6 +3,9 @@ Calculator Scientific Calculator + + Error: division by zero + Vibrate on button press From 95feb32d0fa48b1612afdfb6dbbc04a84bc0f12f Mon Sep 17 00:00:00 2001 From: Danil Ochagov Date: Tue, 19 May 2020 15:03:53 +0300 Subject: [PATCH 3/4] Show Toast message instead of printing division by zero error --- .../calculator/helpers/CalculatorImpl.kt | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 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 9e8ad843..9520ee9e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -2,6 +2,7 @@ package com.simplemobiletools.calculator.helpers import android.content.Context import android.util.Log +import android.widget.Toast import com.simplemobiletools.calculator.R import com.simplemobiletools.calculator.operation.OperationFactory @@ -57,19 +58,21 @@ class CalculatorImpl(calculator: Calculator, val context: Context) { val sign = getSign(lastOperation) when { - baseValue == 0.0 && secondValue == 0.0 && sign == "/" -> { - setFormula(context.getString(R.string.formula_divide_by_zero_error)) + sign == "√" -> { + setFormula(sign + first) } - - sign == "√" -> setFormula(sign + first) - - sign == "!" -> setFormula(first + sign) - - else -> { - if (sign.isNotEmpty()) { - val formula = first + sign + second - setFormula(formula) + sign == "!" -> { + setFormula(first + sign) + } + sign.isNotEmpty() -> { + if (secondValue == 0.0 && sign == "/") { + Toast.makeText( + context, + context.getString(R.string.formula_divide_by_zero_error), + Toast.LENGTH_SHORT).show() } + + setFormula(first + sign + second) } } } From 11933ce2e1258b99d125051acb0b4bdf46e82a01 Mon Sep 17 00:00:00 2001 From: Tibor Kaputa Date: Tue, 19 May 2020 14:38:54 +0200 Subject: [PATCH 4/4] simplifying the zero division check a bit --- .../calculator/helpers/CalculatorImpl.kt | 13 +++---------- 1 file changed, 3 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 9520ee9e..73d5e032 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -58,18 +58,11 @@ class CalculatorImpl(calculator: Calculator, val context: Context) { val sign = getSign(lastOperation) when { - sign == "√" -> { - setFormula(sign + first) - } - sign == "!" -> { - setFormula(first + sign) - } + sign == "√" -> setFormula(sign + first) + sign == "!" -> setFormula(first + sign) sign.isNotEmpty() -> { if (secondValue == 0.0 && sign == "/") { - Toast.makeText( - context, - context.getString(R.string.formula_divide_by_zero_error), - Toast.LENGTH_SHORT).show() + context.toast(context.getString(R.string.formula_divide_by_zero_error)) } setFormula(first + sign + second)