Merge pull request #236 from Aga-C/add-history

Added history (#8)
This commit is contained in:
Tibor Kaputa 2022-01-14 18:39:18 +01:00 committed by GitHub
commit d3707ff5c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
49 changed files with 476 additions and 12 deletions

View File

@ -1,6 +1,7 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
def keystorePropertiesFile = rootProject.file("keystore.properties")
def keystoreProperties = new Properties()
@ -64,4 +65,8 @@ dependencies {
implementation 'com.github.SimpleMobileTools:Simple-Commons:02b48c0b4d'
implementation 'me.grantland:autofittextview:0.2.1'
implementation 'net.objecthunter:exp4j:0.4.8'
kapt 'androidx.room:room-compiler:2.3.0'
implementation 'androidx.room:room-runtime:2.3.0'
annotationProcessor 'androidx.room:room-compiler:2.3.0'
}

View File

@ -9,6 +9,8 @@ import android.view.View
import android.view.WindowManager
import com.simplemobiletools.calculator.BuildConfig
import com.simplemobiletools.calculator.R
import com.simplemobiletools.calculator.databases.CalculatorDatabase
import com.simplemobiletools.calculator.dialogs.HistoryDialog
import com.simplemobiletools.calculator.extensions.config
import com.simplemobiletools.calculator.extensions.updateViewColors
import com.simplemobiletools.calculator.helpers.*
@ -89,6 +91,13 @@ class MainActivity : SimpleActivity(), Calculator {
}
}
override fun onDestroy() {
super.onDestroy()
if (!isChangingConfigurations) {
CalculatorDatabase.destroyInstance()
}
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
menuInflater.inflate(R.menu.menu, menu)
updateMenuItemColors(menu)
@ -97,6 +106,7 @@ class MainActivity : SimpleActivity(), Calculator {
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
R.id.history -> showHistory()
R.id.settings -> launchSettings()
R.id.about -> launchAbout()
else -> return super.onOptionsItemSelected(item)
@ -116,6 +126,16 @@ class MainActivity : SimpleActivity(), Calculator {
}
}
private fun showHistory() {
HistoryHelper(this).getHistory {
if (it.isEmpty()) {
toast(R.string.history_empty)
} else {
HistoryDialog(this, it, calc)
}
}
}
private fun launchSettings() {
startActivity(Intent(applicationContext, SettingsActivity::class.java))
}

View File

@ -0,0 +1,53 @@
package com.simplemobiletools.calculator.adapters
import android.app.Dialog
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.simplemobiletools.calculator.R
import com.simplemobiletools.calculator.activities.SimpleActivity
import com.simplemobiletools.calculator.helpers.CalculatorImpl
import com.simplemobiletools.calculator.models.History
import com.simplemobiletools.commons.extensions.copyToClipboard
import kotlinx.android.synthetic.main.history_view.view.*
class HistoryAdapter(val activity: SimpleActivity, val items: List<History>, val calc: CalculatorImpl) :
RecyclerView.Adapter<HistoryAdapter.ViewHolder>() {
private lateinit var dialog: Dialog
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view = activity.layoutInflater.inflate(R.layout.history_view, parent, false)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val item = items[position]
holder.bindView(item)
}
override fun getItemCount() = items.size
fun setDialog(dialog: Dialog) {
this.dialog = dialog
}
inner class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
fun bindView(item: History): View {
itemView.apply {
item_formula.text = item.formula
item_result.text = "= ${item.result}"
setOnClickListener {
calc.addNumberToFormula(item.result)
dialog.dismiss()
}
setOnLongClickListener {
activity.baseContext.copyToClipboard(item.result)
true
}
}
return itemView
}
}
}

View File

@ -0,0 +1,35 @@
package com.simplemobiletools.calculator.databases
import android.content.Context
import androidx.room.Database
import androidx.room.Room
import androidx.room.RoomDatabase
import com.simplemobiletools.calculator.interfaces.CalculatorDao
import com.simplemobiletools.calculator.models.History
@Database(entities = [History::class], version = 1)
abstract class CalculatorDatabase : RoomDatabase() {
abstract fun CalculatorDao(): CalculatorDao
companion object {
private var db: CalculatorDatabase? = null
fun getInstance(context: Context): CalculatorDatabase {
if (db == null) {
synchronized(CalculatorDatabase::class) {
if (db == null) {
db = Room.databaseBuilder(context.applicationContext, CalculatorDatabase::class.java, "calculator.db")
.build()
db!!.openHelper.setWriteAheadLoggingEnabled(true)
}
}
}
return db!!
}
fun destroyInstance() {
db = null
}
}
}

View File

@ -0,0 +1,33 @@
package com.simplemobiletools.calculator.dialogs
import androidx.appcompat.app.AlertDialog
import com.simplemobiletools.calculator.R
import com.simplemobiletools.calculator.activities.SimpleActivity
import com.simplemobiletools.calculator.adapters.HistoryAdapter
import com.simplemobiletools.calculator.extensions.calculatorDB
import com.simplemobiletools.calculator.helpers.CalculatorImpl
import com.simplemobiletools.calculator.models.History
import com.simplemobiletools.commons.extensions.setupDialogStuff
import com.simplemobiletools.commons.extensions.toast
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
import kotlinx.android.synthetic.main.dialog_history.view.*
class HistoryDialog() {
constructor(activity: SimpleActivity, items: List<History>, calculator: CalculatorImpl) : this() {
val view = activity.layoutInflater.inflate(R.layout.dialog_history, null)
view.history_list.adapter = HistoryAdapter(activity, items, calculator)
AlertDialog.Builder(activity)
.setPositiveButton(R.string.ok, null)
.setNeutralButton(R.string.clear_history) { _, _ ->
ensureBackgroundThread {
activity.applicationContext.calculatorDB.deleteHistory()
activity.toast(R.string.history_cleared)
}
}
.create().apply {
activity.setupDialogStuff(view, this, R.string.history)
(view.history_list.adapter as HistoryAdapter).setDialog(this)
}
}
}

View File

@ -5,9 +5,13 @@ import android.view.ViewGroup
import android.widget.Button
import android.widget.TextView
import com.simplemobiletools.calculator.helpers.Config
import com.simplemobiletools.calculator.interfaces.CalculatorDao
import com.simplemobiletools.calculator.databases.CalculatorDatabase
val Context.config: Config get() = Config.newInstance(applicationContext)
val Context.calculatorDB: CalculatorDao get() = CalculatorDatabase.getInstance(applicationContext).CalculatorDao()
// we are reusing the same layout in the app and widget, but cannot use MyTextView etc in a widget, so color regular view types like this
fun Context.updateViewColors(viewGroup: ViewGroup, textColor: Int) {
val cnt = viewGroup.childCount

View File

@ -2,6 +2,7 @@ package com.simplemobiletools.calculator.helpers
import android.content.Context
import com.simplemobiletools.calculator.R
import com.simplemobiletools.calculator.models.History
import com.simplemobiletools.commons.extensions.toast
import net.objecthunter.exp4j.ExpressionBuilder
@ -242,8 +243,10 @@ class CalculatorImpl(calculator: Calculator, private val context: Context) {
showNewResult(result.format())
baseValue = result
val newFormula = expression.replace("sqrt", "").replace("*", "×").replace("/", "÷")
HistoryHelper(context).insertOrUpdateHistoryEntry(History(null, newFormula, result.format(), System.currentTimeMillis()))
inputDisplayedFormula = result.format()
showNewFormula(expression.replace("sqrt", "").replace("*", "×").replace("/", "÷"))
showNewFormula(newFormula)
} catch (e: Exception) {
context.toast(R.string.unknown_error_occurred)
}
@ -345,4 +348,11 @@ class CalculatorImpl(calculator: Calculator, private val context: Context) {
R.id.btn_9 -> addDigit(9)
}
}
fun addNumberToFormula(number: String) {
lastKey = DIGIT
inputDisplayedFormula += number
addThousandsDelimiter()
showNewResult(inputDisplayedFormula)
}
}

View File

@ -0,0 +1,26 @@
package com.simplemobiletools.calculator.helpers
import android.content.Context
import android.os.Handler
import android.os.Looper
import com.simplemobiletools.calculator.extensions.calculatorDB
import com.simplemobiletools.calculator.models.History
import com.simplemobiletools.commons.helpers.ensureBackgroundThread
class HistoryHelper(val context: Context) {
fun getHistory(callback: (calculations: ArrayList<History>) -> Unit) {
ensureBackgroundThread {
val notes = context.calculatorDB.getHistory() as ArrayList<History>
Handler(Looper.getMainLooper()).post {
callback(notes)
}
}
}
fun insertOrUpdateHistoryEntry(entry: History) {
ensureBackgroundThread {
context.calculatorDB.insertOrUpdate(entry)
}
}
}

View File

@ -0,0 +1,16 @@
package com.simplemobiletools.calculator.interfaces
import androidx.room.*
import com.simplemobiletools.calculator.models.History
@Dao
interface CalculatorDao {
@Query("SELECT * FROM history ORDER BY timestamp DESC LIMIT :limit")
fun getHistory(limit: Int = 10): List<History>
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insertOrUpdate(history: History): Long
@Query("DELETE FROM history")
fun deleteHistory()
}

View File

@ -0,0 +1,14 @@
package com.simplemobiletools.calculator.models
import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.Index
import androidx.room.PrimaryKey
@Entity(tableName = "history", indices = [(Index(value = ["id"], unique = true))])
data class History(
@PrimaryKey(autoGenerate = true) var id: Long?,
@ColumnInfo(name = "formula") var formula: String,
@ColumnInfo(name = "result") var result: String,
@ColumnInfo(name = "timestamp") var timestamp: Long
)

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<com.simplemobiletools.commons.views.MyRecyclerView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/history_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clipToPadding="false"
android:overScrollMode="never"
android:paddingTop="@dimen/activity_margin"
app:layoutManager="com.simplemobiletools.commons.views.MyLinearLayoutManager" />

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/history_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
android:padding="@dimen/normal_margin">
<TextView
android:id="@+id/item_formula"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/medium_margin"
android:ellipsize="end"
android:maxLines="1"
android:textSize="@dimen/normal_text_size"
android:paddingStart="@dimen/small_margin"
tools:text="2 + 2" />
<TextView
android:id="@+id/item_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/medium_margin"
android:layout_below="@+id/item_formula"
android:ellipsize="end"
android:maxLines="1"
android:textSize="@dimen/normal_text_size"
android:paddingStart="@dimen/small_margin"
tools:text="= 4" />
</RelativeLayout>

View File

@ -1,6 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/history"
android:icon="@drawable/ic_clock_vector"
android:title="@string/history"
app:showAsAction="always" />
<item
android:id="@+id/settings"
android:icon="@drawable/ic_settings_cog_vector"

View File

@ -5,6 +5,11 @@
<string name="scientific_calculator">الحاسبة العلمية</string>
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">خطأ: القسمة على صفر</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">الاهتزاز عند الضغط على الازرار</string>
<!-- FAQ -->
@ -20,4 +25,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
</resources>
</resources>

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Səhv: sıfıra bölünmə</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Düyməyə basdıqda titrə</string>

View File

@ -5,6 +5,11 @@
<string name="scientific_calculator">Calculadora científica</string>
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Error: divisió per zero</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Vibra en prémer el botó</string>
<!-- FAQ -->

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Chyba: dělení nulou</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Vibrovat při stisku tlačítka</string>

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Gwall: rhannu â sero</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Dirgrynu wrth wasgu botymau</string>

View File

@ -5,6 +5,11 @@
<string name="scientific_calculator">Wissenschaftlicher Rechner</string>
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Fehler: Division durch Null</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Bei Tastendruck vibrieren</string>
<!-- FAQ -->
@ -20,4 +25,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
</resources>
</resources>

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Σφάλμα: διαίρεση με μηδέν</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Δόνηση στο πάτημα πλήκτρου</string>

View File

@ -5,6 +5,11 @@
<string name="scientific_calculator">Sciena kalkulilo</string>
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Eraro: divido per nul</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Vibrigi je butonpremo</string>
<!-- FAQ -->

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Error: división por cero</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Vibrar al presionar un botón</string>

View File

@ -5,6 +5,11 @@
<string name="scientific_calculator">Teadusrežiim</string>
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Viga: nulliga jagamine</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Nupuvajutusel vibreeri</string>
<!-- FAQ -->
@ -20,4 +25,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
</resources>
</resources>

View File

@ -5,6 +5,11 @@
<string name="scientific_calculator">Tieteellinen laskin</string>
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Virhe: jakaminen nollalla</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Värinä painikkeen painalluksella</string>
<!-- FAQ -->
@ -43,4 +48,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
</resources>
</resources>

View File

@ -5,6 +5,11 @@
<string name="scientific_calculator">Calculatrice scientifique</string>
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Erreur : division par zéro</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Vibrer lors de l\'appui sur les boutons</string>
<!-- FAQ -->
@ -20,4 +25,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
</resources>
</resources>

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Erro: división por cero</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Vibrar ao tocar nos botóns</string>

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Pogreška: podjela prema nuli</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Vibriraj prilikom pritiska na gumb</string>

View File

@ -5,6 +5,11 @@
<string name="scientific_calculator">Tudományos számológép</string>
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Hiba: nullával való osztás</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Rezgés gombnyomáskor</string>
<!-- FAQ -->

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Kesalahan: pembagian dengan nol</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Getar saat tombol ditekan</string>

View File

@ -5,6 +5,11 @@
<string name="scientific_calculator">Calcolatrice scientifica</string>
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Errore: divisione per zero</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Vibra alla pressione di un tasto</string>
<!-- FAQ -->
@ -20,4 +25,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
</resources>
</resources>

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">エラー:ゼロによる除算</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">ボタンのタップ時に振動する</string>

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">에러: 공으로 나눌 할수 없어요</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">버튼 탭시 진동</string>

View File

@ -5,6 +5,11 @@
<string name="scientific_calculator">Mokslinis skaičiuotuvas</string>
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Klaida: dalyba iš nulio</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Vibruoti, kai paspaudžiami mygtukai</string>
<!-- FAQ -->
@ -20,4 +25,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
</resources>
</resources>

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">പിശക്: 0 കൊണ്ട് ഹരിക്കാനാവില്ല</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">ബട്ടൺ പ്രസ്സിൽ വൈബ്രേറ്റുചെയ്യുക</string>

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Amaran: pembahagian dengan sifar</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Getar semasa butang ditekan</string>

View File

@ -5,6 +5,11 @@
<string name="scientific_calculator">Vitenskapelig kalkulator</string>
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">FeiL: Deling på null</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Vibrer ved knappetrykk</string>
<string name="faq_1_title">Hvordan fungerer C (Clear)-knappen\?</string>

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Fout: delen door nul</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Trillen bij toetsaanslagen</string>

View File

@ -5,6 +5,11 @@
<string name="scientific_calculator">Kalkulator naukowy</string>
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Błąd: dzielenie przez zero</string>
<!-- History -->
<string name="history">Historia</string>
<string name="history_empty">Historia jest pusta</string>
<string name="clear_history">Wyczyść</string>
<string name="history_cleared">Historia została wyczyszczona</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Wibracja przy naciśnięciu przycisku</string>
<!-- FAQ -->
@ -20,4 +25,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
</resources>
</resources>

View File

@ -5,6 +5,11 @@
<string name="scientific_calculator">Calculadora Científica</string>
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Erro: divisão por zero</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Vibrar ao pressionar um botão</string>
<!-- FAQ -->

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Erro: divisão por zero</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Vibrar ao tocar nos botões</string>

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Eroare: împărțire la zero</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Vibrează la apăsarea butoanelor</string>

View File

@ -5,6 +5,11 @@
<string name="scientific_calculator">Научный калькулятор</string>
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Ошибка: деление на ноль</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Вибрация при нажатии кнопок</string>
<!-- FAQ -->
@ -43,4 +48,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
</resources>
</resources>

View File

@ -5,6 +5,11 @@
<string name="scientific_calculator">Vedecká kalkulačka</string>
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Chyba: delenie nulou</string>
<!-- History -->
<string name="history">História</string>
<string name="history_empty">História je prázdna</string>
<string name="clear_history">Vymazať</string>
<string name="history_cleared">História bola vymazaná</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Vibrovať pri stlačení tlačidla</string>
<!-- FAQ -->
@ -20,4 +25,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
</resources>
</resources>

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Fel: delning med noll</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Vibrera när jag trycker på knapparna</string>

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Hata: sıfıra bölme</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Düğmeye basıldığında titret</string>

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Помилка: ділення на нуль</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Вібрувати з натиском кнопок</string>

View File

@ -5,6 +5,11 @@
<string name="scientific_calculator">科学计算器</string>
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">错误: 被零除</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">按下按键后震动</string>
<!-- FAQ -->
@ -43,4 +48,4 @@
Haven't found some strings? There's more at
https://github.com/SimpleMobileTools/Simple-Commons/tree/master/commons/src/main/res
-->
</resources>
</resources>

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">錯誤:被零除</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">按下按鈕時震動</string>

View File

@ -6,6 +6,12 @@
<!-- Calculator field -->
<string name="formula_divide_by_zero_error">Error: division by zero</string>
<!-- History -->
<string name="history">History</string>
<string name="history_empty">History is empty</string>
<string name="clear_history">Clear</string>
<string name="history_cleared">History has been cleared</string>
<!-- Settings -->
<string name="vibrate_on_button_press">Vibrate on button press</string>