mirror of
https://github.com/Suwayomi/TachideskJUI.git
synced 2025-12-10 06:42:05 +01:00
Replace old Locale.getDefault with Compose Multiplatform variant
This commit is contained in:
@@ -8,8 +8,6 @@ package ca.gosyer.jui.core.lang
|
||||
|
||||
import androidx.compose.ui.text.intl.Locale
|
||||
|
||||
expect fun Locale.Companion.getDefault(): Locale
|
||||
|
||||
expect fun Locale.getDisplayLanguage(displayLocale: Locale): String
|
||||
|
||||
expect fun Locale.getDisplayName(displayLocale: Locale): String
|
||||
|
||||
@@ -9,9 +9,7 @@ package ca.gosyer.jui.core.lang
|
||||
import androidx.compose.ui.text.intl.Locale
|
||||
import java.util.Locale as PlatformLocale
|
||||
|
||||
actual fun Locale.Companion.getDefault(): Locale = current
|
||||
|
||||
fun Locale.toPlatform() = PlatformLocale.forLanguageTag(toLanguageTag())
|
||||
fun Locale.toPlatform(): PlatformLocale = PlatformLocale.forLanguageTag(toLanguageTag())
|
||||
|
||||
actual fun Locale.getDisplayLanguage(displayLocale: Locale): String = toPlatform()
|
||||
.getDisplayLanguage(displayLocale.toPlatform())
|
||||
|
||||
@@ -7,14 +7,13 @@
|
||||
package ca.gosyer.jui.data.catalog
|
||||
|
||||
import androidx.compose.ui.text.intl.Locale
|
||||
import ca.gosyer.jui.core.lang.getDefault
|
||||
import ca.gosyer.jui.core.prefs.Preference
|
||||
import ca.gosyer.jui.core.prefs.PreferenceStore
|
||||
import ca.gosyer.jui.data.library.model.DisplayMode
|
||||
|
||||
class CatalogPreferences(private val preferenceStore: PreferenceStore) {
|
||||
fun languages(): Preference<Set<String>> {
|
||||
return preferenceStore.getStringSet("enabled_langs", setOfNotNull("en", Locale.getDefault().language))
|
||||
return preferenceStore.getStringSet("enabled_langs", setOfNotNull("en", Locale.current.language))
|
||||
}
|
||||
|
||||
fun displayMode(): Preference<DisplayMode> {
|
||||
|
||||
@@ -7,12 +7,11 @@
|
||||
package ca.gosyer.jui.data.extension
|
||||
|
||||
import androidx.compose.ui.text.intl.Locale
|
||||
import ca.gosyer.jui.core.lang.getDefault
|
||||
import ca.gosyer.jui.core.prefs.Preference
|
||||
import ca.gosyer.jui.core.prefs.PreferenceStore
|
||||
|
||||
class ExtensionPreferences(private val preferenceStore: PreferenceStore) {
|
||||
fun languages(): Preference<Set<String>> {
|
||||
return preferenceStore.getStringSet("enabled_langs", setOfNotNull("all", "en", Locale.getDefault().language))
|
||||
return preferenceStore.getStringSet("enabled_langs", setOfNotNull("all", "en", Locale.current.language))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
package ca.gosyer.jui.data.base
|
||||
|
||||
import androidx.compose.ui.text.intl.Locale
|
||||
import ca.gosyer.jui.core.lang.getDefault
|
||||
import ca.gosyer.jui.core.lang.toPlatform
|
||||
import kotlinx.datetime.Instant
|
||||
import kotlinx.datetime.toJavaInstant
|
||||
@@ -28,7 +27,7 @@ actual class DateHandler @Inject constructor() {
|
||||
|
||||
actual fun getDateFormat(format: String): (Instant) -> String = when (format) {
|
||||
"" -> DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT)
|
||||
.withLocale(Locale.getDefault().toPlatform())
|
||||
.withLocale(Locale.current.toPlatform())
|
||||
.withZone(ZoneId.systemDefault())
|
||||
else -> DateTimeFormatter.ofPattern(format)
|
||||
.withZone(ZoneId.systemDefault())
|
||||
@@ -41,7 +40,7 @@ actual class DateHandler @Inject constructor() {
|
||||
actual val dateTimeFormat: (Instant) -> String by lazy {
|
||||
DateTimeFormatter
|
||||
.ofLocalizedDateTime(FormatStyle.SHORT)
|
||||
.withLocale(Locale.getDefault().toPlatform())
|
||||
.withLocale(Locale.current.toPlatform())
|
||||
.withZone(ZoneId.systemDefault())
|
||||
.let { formatter ->
|
||||
{
|
||||
|
||||
@@ -7,9 +7,8 @@
|
||||
package ca.gosyer.jui.ui.base.components
|
||||
|
||||
import androidx.compose.ui.text.intl.Locale
|
||||
import ca.gosyer.jui.core.lang.getDefault
|
||||
import ca.gosyer.jui.core.lang.getDisplayLanguage
|
||||
|
||||
fun localeToString(locale: String) = Locale(locale)
|
||||
.getDisplayLanguage(Locale.getDefault())
|
||||
.getDisplayLanguage(Locale.current)
|
||||
.ifBlank { locale.uppercase() }
|
||||
|
||||
@@ -47,7 +47,6 @@ import androidx.compose.ui.text.intl.Locale
|
||||
import androidx.compose.ui.text.withStyle
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import ca.gosyer.jui.core.lang.getDefault
|
||||
import ca.gosyer.jui.core.lang.getDisplayName
|
||||
import ca.gosyer.jui.core.lang.uppercase
|
||||
import ca.gosyer.jui.data.models.Extension
|
||||
@@ -168,7 +167,7 @@ fun ExtensionItem(
|
||||
}
|
||||
Text(title, fontSize = 18.sp, color = MaterialTheme.colors.onBackground)
|
||||
Row {
|
||||
Text(extension.lang.uppercase(Locale.getDefault()), fontSize = 14.sp, color = MaterialTheme.colors.onBackground)
|
||||
Text(extension.lang.uppercase(Locale.current), fontSize = 14.sp, color = MaterialTheme.colors.onBackground)
|
||||
if (extension.isNsfw) {
|
||||
Spacer(Modifier.width(4.dp))
|
||||
Text("18+", fontSize = 14.sp, color = Color.Red)
|
||||
@@ -221,7 +220,7 @@ fun LanguageDialog(
|
||||
) {
|
||||
title(BuildKonfig.NAME)
|
||||
Box {
|
||||
val locale = remember { Locale.getDefault() }
|
||||
val locale = remember { Locale.current }
|
||||
val listState = rememberLazyListState()
|
||||
LazyColumn(Modifier.fillMaxWidth(), listState) {
|
||||
items(availableLangs.toList()) { lang ->
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
package ca.gosyer.jui.ui.library
|
||||
|
||||
import androidx.compose.ui.text.intl.Locale
|
||||
import ca.gosyer.jui.core.lang.getDefault
|
||||
import ca.gosyer.jui.core.lang.lowercase
|
||||
import ca.gosyer.jui.core.lang.withDefaultContext
|
||||
import ca.gosyer.jui.core.prefs.getAsFlow
|
||||
@@ -170,7 +169,7 @@ class LibraryScreenViewModel @Inject constructor(
|
||||
private fun getComparator(sortMode: Sort, ascending: Boolean): Comparator<Manga> {
|
||||
val sortFn = when (sortMode) {
|
||||
Sort.ALPHABETICAL -> {
|
||||
val locale = Locale.getDefault()
|
||||
val locale = Locale.current
|
||||
val collator = Collator(locale);
|
||||
|
||||
{ a: Manga, b: Manga ->
|
||||
|
||||
@@ -20,7 +20,6 @@ import androidx.compose.runtime.produceState
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.text.intl.Locale
|
||||
import ca.gosyer.jui.core.lang.getDefault
|
||||
import ca.gosyer.jui.core.lang.getDisplayName
|
||||
import ca.gosyer.jui.core.lang.withIOContext
|
||||
import ca.gosyer.jui.data.base.DateHandler
|
||||
@@ -80,7 +79,7 @@ class SettingsGeneralViewModel @Inject constructor(
|
||||
val dateFormat = uiPreferences.dateFormat().asStateFlow()
|
||||
|
||||
private val now = Clock.System.now()
|
||||
private val currentLocale = Locale.getDefault()
|
||||
private val currentLocale = Locale.current
|
||||
|
||||
@Composable
|
||||
fun getStartScreenChoices() = mapOf(
|
||||
|
||||
Reference in New Issue
Block a user