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