diff --git a/.gitignore b/.gitignore
index 12c6f2419..810f5e7aa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -71,6 +71,7 @@ captures/
.idea/deploymentTargetDropDown.xml
.idea/deploymentTargetSelector.xml
.idea/kotlinc.xml
+.idea/studiobot.xml
# Keystore files
*.jks
diff --git a/app/src/main/java/io/github/wulkanowy/utils/TimeExtension.kt b/app/src/main/java/io/github/wulkanowy/utils/TimeExtension.kt
index e7a50d0c3..77689fcb7 100644
--- a/app/src/main/java/io/github/wulkanowy/utils/TimeExtension.kt
+++ b/app/src/main/java/io/github/wulkanowy/utils/TimeExtension.kt
@@ -1,14 +1,32 @@
package io.github.wulkanowy.utils
import java.text.SimpleDateFormat
-import java.time.*
-import java.time.DayOfWeek.*
+import java.time.DayOfWeek.FRIDAY
+import java.time.DayOfWeek.MONDAY
+import java.time.DayOfWeek.SATURDAY
+import java.time.DayOfWeek.SUNDAY
+import java.time.Instant
+import java.time.LocalDate
+import java.time.LocalDateTime
+import java.time.Month
+import java.time.ZoneId
+import java.time.ZoneOffset
import java.time.format.DateTimeFormatter
-import java.time.temporal.TemporalAdjusters.*
-import java.util.*
+import java.time.temporal.TemporalAdjusters.firstInMonth
+import java.time.temporal.TemporalAdjusters.next
+import java.time.temporal.TemporalAdjusters.previous
+import java.util.Locale
private const val DEFAULT_DATE_PATTERN = "dd.MM.yyyy"
+fun getDefaultLocaleWithFallback(): Locale {
+ val locale = Locale.getDefault()
+ if (locale.language == "csb") {
+ return Locale.forLanguageTag("pl")
+ }
+ return locale
+}
+
fun LocalDate.toTimestamp(): Long = atStartOfDay()
.toInstant(ZoneOffset.UTC)
.toEpochMilli()
@@ -23,7 +41,7 @@ fun String.toLocalDate(format: String = DEFAULT_DATE_PATTERN): LocalDate =
LocalDate.parse(this, DateTimeFormatter.ofPattern(format))
fun LocalDate.toFormattedString(pattern: String = DEFAULT_DATE_PATTERN): String =
- format(DateTimeFormatter.ofPattern(pattern))
+ format(DateTimeFormatter.ofPattern(pattern, getDefaultLocaleWithFallback()))
fun Instant.toFormattedString(
pattern: String = DEFAULT_DATE_PATTERN,
@@ -31,7 +49,7 @@ fun Instant.toFormattedString(
): String = atZone(tz).format(DateTimeFormatter.ofPattern(pattern))
fun Month.getFormattedName(): String {
- val formatter = SimpleDateFormat("LLLL", Locale.getDefault())
+ val formatter = SimpleDateFormat("LLLL", getDefaultLocaleWithFallback())
val date = LocalDateTime.now().withMonth(value)
return formatter.format(date.toInstant(ZoneOffset.UTC).toEpochMilli()).capitalise()
@@ -76,7 +94,7 @@ inline val LocalDate.previousOrSameSchoolDay: LocalDate
}
inline val LocalDate.weekDayName: String
- get() = format(DateTimeFormatter.ofPattern("EEEE", Locale.getDefault()))
+ get() = format(DateTimeFormatter.ofPattern("EEEE", getDefaultLocaleWithFallback()))
inline val LocalDate.monday: LocalDate get() = with(MONDAY)
diff --git a/app/src/main/res/values-cs/preferences_values.xml b/app/src/main/res/values-cs/preferences_values.xml
index c9b2258fc..fa5bad545 100644
--- a/app/src/main/res/values-cs/preferences_values.xml
+++ b/app/src/main/res/values-cs/preferences_values.xml
@@ -19,6 +19,7 @@
- Deutsch
- Čeština
- Slovenčina
+ - Kaszëbsczi
- 15 minut
diff --git a/app/src/main/res/values-csb-rPL/preferences_values.xml b/app/src/main/res/values-csb-rPL/preferences_values.xml
index 8b4be0d9b..902014177 100644
--- a/app/src/main/res/values-csb-rPL/preferences_values.xml
+++ b/app/src/main/res/values-csb-rPL/preferences_values.xml
@@ -19,6 +19,7 @@
- Deutsch
- Čeština
- Slovenčina
+ - Kaszëbsczi
- 15 minutów
diff --git a/app/src/main/res/values-de/preferences_values.xml b/app/src/main/res/values-de/preferences_values.xml
index 23828b030..a6d698416 100644
--- a/app/src/main/res/values-de/preferences_values.xml
+++ b/app/src/main/res/values-de/preferences_values.xml
@@ -19,6 +19,7 @@
- Deutsch
- Čeština
- Slovenčina
+ - Kaszëbsczi
- 15 Minuten
diff --git a/app/src/main/res/values-pl/preferences_values.xml b/app/src/main/res/values-pl/preferences_values.xml
index 8eafa1cb4..ae7d0ac84 100644
--- a/app/src/main/res/values-pl/preferences_values.xml
+++ b/app/src/main/res/values-pl/preferences_values.xml
@@ -19,6 +19,7 @@
- Deutsch
- Čeština
- Slovenčina
+ - Kaszëbsczi
- 15 minut
diff --git a/app/src/main/res/values-ru/preferences_values.xml b/app/src/main/res/values-ru/preferences_values.xml
index 63ab4fc44..095a2a975 100644
--- a/app/src/main/res/values-ru/preferences_values.xml
+++ b/app/src/main/res/values-ru/preferences_values.xml
@@ -19,6 +19,7 @@
- Deutsch
- Čeština
- Slovenčina
+ - Kaszëbsczi
- 15 минут
diff --git a/app/src/main/res/values-sk/preferences_values.xml b/app/src/main/res/values-sk/preferences_values.xml
index b06f2b3fa..af34eebcc 100644
--- a/app/src/main/res/values-sk/preferences_values.xml
+++ b/app/src/main/res/values-sk/preferences_values.xml
@@ -19,6 +19,7 @@
- Deutsch
- Čeština
- Slovenčina
+ - Kaszëbsczi
- 15 minút
diff --git a/app/src/main/res/values-uk/preferences_values.xml b/app/src/main/res/values-uk/preferences_values.xml
index 72abe1f70..4b090f095 100644
--- a/app/src/main/res/values-uk/preferences_values.xml
+++ b/app/src/main/res/values-uk/preferences_values.xml
@@ -19,6 +19,7 @@
- Deutsch
- Čeština
- Slovenčina
+ - Kaszëbsczi
- 15 хвилин
diff --git a/app/src/main/res/values/preferences_values.xml b/app/src/main/res/values/preferences_values.xml
index e5020b533..fc9a4eeb4 100644
--- a/app/src/main/res/values/preferences_values.xml
+++ b/app/src/main/res/values/preferences_values.xml
@@ -40,6 +40,7 @@
- Deutsch
- Čeština
- Slovenčina
+ - Kaszëbsczi
- system
@@ -50,6 +51,7 @@
- de
- cs
- sk
+ - csb