diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 434191e..7fe184d 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -43,8 +43,8 @@ android {
applicationId = "org.nsh07.pomodoro"
minSdk = 27
targetSdk = 36
- versionCode = 18
- versionName = "1.6.3"
+ versionCode = 19
+ versionName = "1.6.4"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
diff --git a/app/src/main/java/org/nsh07/pomodoro/service/TimerService.kt b/app/src/main/java/org/nsh07/pomodoro/service/TimerService.kt
index 8932c50..01552a2 100644
--- a/app/src/main/java/org/nsh07/pomodoro/service/TimerService.kt
+++ b/app/src/main/java/org/nsh07/pomodoro/service/TimerService.kt
@@ -168,11 +168,11 @@ class TimerService : Service() {
if (startTime == 0L) startTime = SystemClock.elapsedRealtime()
time = when (timerState.value.timerMode) {
- TimerMode.FOCUS -> timerRepository.focusTime - (SystemClock.elapsedRealtime() - startTime - pauseDuration).toInt()
+ TimerMode.FOCUS -> timerRepository.focusTime - (SystemClock.elapsedRealtime() - startTime - pauseDuration)
- TimerMode.SHORT_BREAK -> timerRepository.shortBreakTime - (SystemClock.elapsedRealtime() - startTime - pauseDuration).toInt()
+ TimerMode.SHORT_BREAK -> timerRepository.shortBreakTime - (SystemClock.elapsedRealtime() - startTime - pauseDuration)
- else -> timerRepository.longBreakTime - (SystemClock.elapsedRealtime() - startTime - pauseDuration).toInt()
+ else -> timerRepository.longBreakTime - (SystemClock.elapsedRealtime() - startTime - pauseDuration)
}
iterations =
diff --git a/app/src/main/java/org/nsh07/pomodoro/ui/settingsScreen/SettingsScreen.kt b/app/src/main/java/org/nsh07/pomodoro/ui/settingsScreen/SettingsScreen.kt
index e523c16..c8ae71f 100644
--- a/app/src/main/java/org/nsh07/pomodoro/ui/settingsScreen/SettingsScreen.kt
+++ b/app/src/main/java/org/nsh07/pomodoro/ui/settingsScreen/SettingsScreen.kt
@@ -101,15 +101,9 @@ fun SettingsScreenRoot(
onDispose { viewModel.cancelTextFieldFlowCollection() }
}
- val focusTimeInputFieldState = rememberSaveable(saver = TextFieldState.Saver) {
- viewModel.focusTimeTextFieldState
- }
- val shortBreakTimeInputFieldState = rememberSaveable(saver = TextFieldState.Saver) {
- viewModel.shortBreakTimeTextFieldState
- }
- val longBreakTimeInputFieldState = rememberSaveable(saver = TextFieldState.Saver) {
- viewModel.longBreakTimeTextFieldState
- }
+ val focusTimeInputFieldState = viewModel.focusTimeTextFieldState
+ val shortBreakTimeInputFieldState = viewModel.shortBreakTimeTextFieldState
+ val longBreakTimeInputFieldState = viewModel.longBreakTimeTextFieldState
val isPlus by viewModel.isPlus.collectAsStateWithLifecycle()
val alarmEnabled by viewModel.alarmEnabled.collectAsStateWithLifecycle(true)
diff --git a/app/src/main/java/org/nsh07/pomodoro/ui/settingsScreen/components/MinuteInputField.kt b/app/src/main/java/org/nsh07/pomodoro/ui/settingsScreen/components/MinuteInputField.kt
index f34a694..f5f0c23 100644
--- a/app/src/main/java/org/nsh07/pomodoro/ui/settingsScreen/components/MinuteInputField.kt
+++ b/app/src/main/java/org/nsh07/pomodoro/ui/settingsScreen/components/MinuteInputField.kt
@@ -54,7 +54,7 @@ fun MinuteInputField(
state = state,
lineLimits = TextFieldLineLimits.SingleLine,
inputTransformation = MinutesInputTransformation,
- outputTransformation = MinutesOutputTransformation,
+// outputTransformation = MinutesOutputTransformation,
keyboardOptions = KeyboardOptions(
keyboardType = KeyboardType.NumberPassword,
imeAction = imeAction
diff --git a/app/src/main/java/org/nsh07/pomodoro/ui/settingsScreen/components/MinutesTransformation.kt b/app/src/main/java/org/nsh07/pomodoro/ui/settingsScreen/components/MinutesTransformation.kt
index e9df5af..790c6fb 100644
--- a/app/src/main/java/org/nsh07/pomodoro/ui/settingsScreen/components/MinutesTransformation.kt
+++ b/app/src/main/java/org/nsh07/pomodoro/ui/settingsScreen/components/MinutesTransformation.kt
@@ -18,9 +18,7 @@
package org.nsh07.pomodoro.ui.settingsScreen.components
import androidx.compose.foundation.text.input.InputTransformation
-import androidx.compose.foundation.text.input.OutputTransformation
import androidx.compose.foundation.text.input.TextFieldBuffer
-import androidx.compose.foundation.text.input.insert
import androidx.core.text.isDigitsOnly
object MinutesInputTransformation : InputTransformation {
@@ -31,11 +29,11 @@ object MinutesInputTransformation : InputTransformation {
}
}
-object MinutesOutputTransformation : OutputTransformation {
- override fun TextFieldBuffer.transformOutput() {
- when (this.length) {
- 0 -> insert(0, "00")
- 1 -> insert(0, "0")
- }
- }
-}
\ No newline at end of file
+//object MinutesOutputTransformation : OutputTransformation {
+// override fun TextFieldBuffer.transformOutput() {
+// when (this.length) {
+// 0 -> insert(0, "00")
+// 1 -> insert(0, "0")
+// }
+// }
+//}
\ No newline at end of file
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 23c0782..0700ef0 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -62,4 +62,15 @@
المظهر
الفترات
الصوت
+ عدم الازعاج
+ تشغيل وضع عدم الازعاج عند تشغيل مؤقت التركيز
+ احصل علي Tomato+
+ اللون الديناميكي
+ تعديل ألوان السمة من الخليفة الخاصة بك
+ Tomato FOSS
+ كل الميزات مفتوحة لي هذه النسخة، اذا كنت تريد صنع اختلاف في حياتك، فكر في التبرع لي علي %1$s.
+ اللغة
+ اختيار لغة
+ قيم التطبيق علي جوجل بلاي
+ مُختار
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 9050dd5..290eba8 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -2,4 +2,7 @@
Zapnout
Zastavit
+ Alarm
+ Rozezvoň alarm, když vyprší časovač
+ Zvuk alarmu
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 1f13090..092043f 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -56,4 +56,13 @@
Prossimo
Timer
Progresso timer
+ L\'anno scorso
+ Tocca un punto qualsiasi durante la visualizzazione del timer per passare alla modalità AOD
+ Aspetto
+ Suono
+ Non disturbare
+ Ottieni Tomato+
+ Adatta i colori del tema dal tuo sfondo
+ Lingua
+ Scegli la lingua
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
new file mode 100644
index 0000000..55344e5
--- /dev/null
+++ b/app/src/main/res/values-nl/strings.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/fastlane/metadata/android/cs-CZ/full_description.txt b/fastlane/metadata/android/cs-CZ/full_description.txt
new file mode 100644
index 0000000..e9d0e13
--- /dev/null
+++ b/fastlane/metadata/android/cs-CZ/full_description.txt
@@ -0,0 +1,9 @@
+Tomato je minimalistický Pomodoro časovač pro Android vycházející ze stylu Material 3 Expressive.
+
+Vlastnosti:
+- Jednoduché, minimalistické UI založené na posledních pokynech Material 3 Expressive
+- Podrobné statistiky časů práce/učení v jednoduše pochopitelném stylu
+- Statistiky za poslední týden či měsíc zobrazené v jednoduše pochopitelném grafu
+- Další statistiky za poslední týden či měsíc zobrazující v jakém čase dne jsi nejproduktivnější.
+- Upravitelné parametry časomíry
+- Podpora Android 16 Live Updates
diff --git a/fastlane/metadata/android/en-US/changelogs/19.txt b/fastlane/metadata/android/en-US/changelogs/19.txt
new file mode 100644
index 0000000..b144958
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/19.txt
@@ -0,0 +1,13 @@
+[URGENT] This update contains a very important fix for a crash that occurred when editing the time in settings. Please update as soon as possible.
+
+New features:
+- New redesigned alarm screen
+- New font used across the UI
+- Language selection for Android 13+
+
+Fixes:
+- Fixed a crash that occurred when editing the time in settings
+- Clock now stays in place even when the time changes
+
+Enhancements:
+- Updated translations
\ No newline at end of file
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 85f21bf..ae2a776 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -2,17 +2,17 @@
activityCompose = "1.11.0"
adaptive = "1.2.0"
agp = "8.11.2"
-composeBom = "2025.10.01"
+composeBom = "2025.11.00"
coreKtx = "1.17.0"
espressoCore = "3.7.0"
junit = "4.13.2"
junitVersion = "1.3.0"
kotlin = "2.2.21"
-ksp = "2.2.20-2.0.4"
+ksp = "2.3.1"
lifecycleRuntimeKtx = "2.9.4"
-materialKolor = "3.0.1"
-navigation3 = "1.0.0-beta01"
-revenuecat = "9.12.0"
+materialKolor = "4.0.3"
+navigation3 = "1.0.0-rc01"
+revenuecat = "9.12.1"
room = "2.8.3"
vico = "2.2.1"