Merge branch 'dev'
This commit is contained in:
@@ -43,8 +43,8 @@ android {
|
|||||||
applicationId = "org.nsh07.pomodoro"
|
applicationId = "org.nsh07.pomodoro"
|
||||||
minSdk = 27
|
minSdk = 27
|
||||||
targetSdk = 36
|
targetSdk = 36
|
||||||
versionCode = 18
|
versionCode = 19
|
||||||
versionName = "1.6.3"
|
versionName = "1.6.4"
|
||||||
|
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
|
||||||
|
|||||||
@@ -168,11 +168,11 @@ class TimerService : Service() {
|
|||||||
if (startTime == 0L) startTime = SystemClock.elapsedRealtime()
|
if (startTime == 0L) startTime = SystemClock.elapsedRealtime()
|
||||||
|
|
||||||
time = when (timerState.value.timerMode) {
|
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 =
|
iterations =
|
||||||
|
|||||||
@@ -101,15 +101,9 @@ fun SettingsScreenRoot(
|
|||||||
onDispose { viewModel.cancelTextFieldFlowCollection() }
|
onDispose { viewModel.cancelTextFieldFlowCollection() }
|
||||||
}
|
}
|
||||||
|
|
||||||
val focusTimeInputFieldState = rememberSaveable(saver = TextFieldState.Saver) {
|
val focusTimeInputFieldState = viewModel.focusTimeTextFieldState
|
||||||
viewModel.focusTimeTextFieldState
|
val shortBreakTimeInputFieldState = viewModel.shortBreakTimeTextFieldState
|
||||||
}
|
val longBreakTimeInputFieldState = viewModel.longBreakTimeTextFieldState
|
||||||
val shortBreakTimeInputFieldState = rememberSaveable(saver = TextFieldState.Saver) {
|
|
||||||
viewModel.shortBreakTimeTextFieldState
|
|
||||||
}
|
|
||||||
val longBreakTimeInputFieldState = rememberSaveable(saver = TextFieldState.Saver) {
|
|
||||||
viewModel.longBreakTimeTextFieldState
|
|
||||||
}
|
|
||||||
|
|
||||||
val isPlus by viewModel.isPlus.collectAsStateWithLifecycle()
|
val isPlus by viewModel.isPlus.collectAsStateWithLifecycle()
|
||||||
val alarmEnabled by viewModel.alarmEnabled.collectAsStateWithLifecycle(true)
|
val alarmEnabled by viewModel.alarmEnabled.collectAsStateWithLifecycle(true)
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ fun MinuteInputField(
|
|||||||
state = state,
|
state = state,
|
||||||
lineLimits = TextFieldLineLimits.SingleLine,
|
lineLimits = TextFieldLineLimits.SingleLine,
|
||||||
inputTransformation = MinutesInputTransformation,
|
inputTransformation = MinutesInputTransformation,
|
||||||
outputTransformation = MinutesOutputTransformation,
|
// outputTransformation = MinutesOutputTransformation,
|
||||||
keyboardOptions = KeyboardOptions(
|
keyboardOptions = KeyboardOptions(
|
||||||
keyboardType = KeyboardType.NumberPassword,
|
keyboardType = KeyboardType.NumberPassword,
|
||||||
imeAction = imeAction
|
imeAction = imeAction
|
||||||
|
|||||||
@@ -18,9 +18,7 @@
|
|||||||
package org.nsh07.pomodoro.ui.settingsScreen.components
|
package org.nsh07.pomodoro.ui.settingsScreen.components
|
||||||
|
|
||||||
import androidx.compose.foundation.text.input.InputTransformation
|
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.TextFieldBuffer
|
||||||
import androidx.compose.foundation.text.input.insert
|
|
||||||
import androidx.core.text.isDigitsOnly
|
import androidx.core.text.isDigitsOnly
|
||||||
|
|
||||||
object MinutesInputTransformation : InputTransformation {
|
object MinutesInputTransformation : InputTransformation {
|
||||||
@@ -31,11 +29,11 @@ object MinutesInputTransformation : InputTransformation {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
object MinutesOutputTransformation : OutputTransformation {
|
//object MinutesOutputTransformation : OutputTransformation {
|
||||||
override fun TextFieldBuffer.transformOutput() {
|
// override fun TextFieldBuffer.transformOutput() {
|
||||||
when (this.length) {
|
// when (this.length) {
|
||||||
0 -> insert(0, "00")
|
// 0 -> insert(0, "00")
|
||||||
1 -> insert(0, "0")
|
// 1 -> insert(0, "0")
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
@@ -62,4 +62,15 @@
|
|||||||
<string name="appearance">المظهر</string>
|
<string name="appearance">المظهر</string>
|
||||||
<string name="durations">الفترات</string>
|
<string name="durations">الفترات</string>
|
||||||
<string name="sound">الصوت</string>
|
<string name="sound">الصوت</string>
|
||||||
|
<string name="dnd">عدم الازعاج</string>
|
||||||
|
<string name="dnd_desc">تشغيل وضع عدم الازعاج عند تشغيل مؤقت التركيز</string>
|
||||||
|
<string name="get_plus">احصل علي Tomato+</string>
|
||||||
|
<string name="dynamic_color">اللون الديناميكي</string>
|
||||||
|
<string name="dynamic_color_desc">تعديل ألوان السمة من الخليفة الخاصة بك</string>
|
||||||
|
<string name="tomato_foss">Tomato FOSS</string>
|
||||||
|
<string name="tomato_foss_desc">كل الميزات مفتوحة لي هذه النسخة، اذا كنت تريد صنع اختلاف في حياتك، فكر في التبرع لي علي %1$s.</string>
|
||||||
|
<string name="language">اللغة</string>
|
||||||
|
<string name="choose_language">اختيار لغة</string>
|
||||||
|
<string name="rate_on_google_play">قيم التطبيق علي جوجل بلاي</string>
|
||||||
|
<string name="selected">مُختار</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -2,4 +2,7 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name="start">Zapnout</string>
|
<string name="start">Zapnout</string>
|
||||||
<string name="stop">Zastavit</string>
|
<string name="stop">Zastavit</string>
|
||||||
|
<string name="alarm">Alarm</string>
|
||||||
|
<string name="alarm_desc">Rozezvoň alarm, když vyprší časovač</string>
|
||||||
|
<string name="alarm_sound">Zvuk alarmu</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -56,4 +56,13 @@
|
|||||||
<string name="up_next">Prossimo</string>
|
<string name="up_next">Prossimo</string>
|
||||||
<string name="timer">Timer</string>
|
<string name="timer">Timer</string>
|
||||||
<string name="timer_progress">Progresso timer</string>
|
<string name="timer_progress">Progresso timer</string>
|
||||||
|
<string name="last_year">L\'anno scorso</string>
|
||||||
|
<string name="always_on_display_desc">Tocca un punto qualsiasi durante la visualizzazione del timer per passare alla modalità AOD</string>
|
||||||
|
<string name="appearance">Aspetto</string>
|
||||||
|
<string name="sound">Suono</string>
|
||||||
|
<string name="dnd">Non disturbare</string>
|
||||||
|
<string name="get_plus">Ottieni Tomato+</string>
|
||||||
|
<string name="dynamic_color_desc">Adatta i colori del tema dal tuo sfondo</string>
|
||||||
|
<string name="language">Lingua</string>
|
||||||
|
<string name="choose_language">Scegli la lingua</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
3
app/src/main/res/values-nl/strings.xml
Normal file
3
app/src/main/res/values-nl/strings.xml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
</resources>
|
||||||
9
fastlane/metadata/android/cs-CZ/full_description.txt
Normal file
9
fastlane/metadata/android/cs-CZ/full_description.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<i>Tomato</i> je minimalistický Pomodoro časovač pro Android vycházející ze stylu Material 3 Expressive.
|
||||||
|
|
||||||
|
<b>Vlastnosti:</b>
|
||||||
|
- 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
|
||||||
13
fastlane/metadata/android/en-US/changelogs/19.txt
Normal file
13
fastlane/metadata/android/en-US/changelogs/19.txt
Normal file
@@ -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
|
||||||
@@ -2,17 +2,17 @@
|
|||||||
activityCompose = "1.11.0"
|
activityCompose = "1.11.0"
|
||||||
adaptive = "1.2.0"
|
adaptive = "1.2.0"
|
||||||
agp = "8.11.2"
|
agp = "8.11.2"
|
||||||
composeBom = "2025.10.01"
|
composeBom = "2025.11.00"
|
||||||
coreKtx = "1.17.0"
|
coreKtx = "1.17.0"
|
||||||
espressoCore = "3.7.0"
|
espressoCore = "3.7.0"
|
||||||
junit = "4.13.2"
|
junit = "4.13.2"
|
||||||
junitVersion = "1.3.0"
|
junitVersion = "1.3.0"
|
||||||
kotlin = "2.2.21"
|
kotlin = "2.2.21"
|
||||||
ksp = "2.2.20-2.0.4"
|
ksp = "2.3.1"
|
||||||
lifecycleRuntimeKtx = "2.9.4"
|
lifecycleRuntimeKtx = "2.9.4"
|
||||||
materialKolor = "3.0.1"
|
materialKolor = "4.0.3"
|
||||||
navigation3 = "1.0.0-beta01"
|
navigation3 = "1.0.0-rc01"
|
||||||
revenuecat = "9.12.0"
|
revenuecat = "9.12.1"
|
||||||
room = "2.8.3"
|
room = "2.8.3"
|
||||||
vico = "2.2.1"
|
vico = "2.2.1"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user