mirror of
https://github.com/kiwix/kiwix-android.git
synced 2025-08-03 18:56:44 -04:00
#1514 Catch MissingResourceException
This commit is contained in:
parent
cca60df69f
commit
d26e82f90f
@ -36,6 +36,7 @@ import org.kiwix.kiwixmobile.utils.Constants.TAG_KIWIX
|
|||||||
import org.kiwix.kiwixmobile.utils.files.FileUtils
|
import org.kiwix.kiwixmobile.utils.files.FileUtils
|
||||||
import java.text.Collator
|
import java.text.Collator
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
|
import java.util.MissingResourceException
|
||||||
|
|
||||||
class LanguageUtils(private val context: Context) {
|
class LanguageUtils(private val context: Context) {
|
||||||
private val localeLanguageCodes: List<String> = languageCodesFromAssets()
|
private val localeLanguageCodes: List<String> = languageCodesFromAssets()
|
||||||
@ -152,8 +153,14 @@ class LanguageUtils(private val context: Context) {
|
|||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
private var localeMap =
|
private var isO3LanguageToLocaleMap: Map<String, Locale> =
|
||||||
Locale.getAvailableLocales().associateBy { it.isO3Language.toUpperCase(Locale.ROOT) }
|
Locale.getAvailableLocales().associateBy {
|
||||||
|
try {
|
||||||
|
it.isO3Language.toUpperCase(Locale.ROOT)
|
||||||
|
} catch (ignore: MissingResourceException) {
|
||||||
|
it.language.toUpperCase(Locale.ROOT)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private var fontExceptions = mapOf(
|
private var fontExceptions = mapOf(
|
||||||
"km" to "fonts/KhmerOS.ttf",
|
"km" to "fonts/KhmerOS.ttf",
|
||||||
@ -204,7 +211,7 @@ class LanguageUtils(private val context: Context) {
|
|||||||
*/
|
*/
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun iSO3ToLocale(iso3: String?): Locale? =
|
fun iSO3ToLocale(iso3: String?): Locale? =
|
||||||
iso3?.let { localeMap[it.toUpperCase(Locale.ROOT)] }
|
iso3?.let { isO3LanguageToLocaleMap[it.toUpperCase(Locale.ROOT)] }
|
||||||
|
|
||||||
@JvmStatic
|
@JvmStatic
|
||||||
fun getCurrentLocale(context: Context) = context.locale
|
fun getCurrentLocale(context: Context) = context.locale
|
||||||
|
Loading…
x
Reference in New Issue
Block a user