BiometricPrompt подсказки не локализованы - PullRequest
1 голос
/ 08 мая 2019

Выпуск

Мы меняем язык внутри приложения, все работает, кроме подсказок в диалоге отпечатков пальцев. Какой бы язык мы ни установили, у нас всегда есть подсказки на английском:

  • Сенсорный датчик отпечатков пальцев
  • Не распознано
  • и т.д ...
* +1012 *enter image description here

Окружающая среда

  • Используемый компонент: androidx.biometric.BiometricPrompt
  • Используемая версия: 1.0.0.0-alpha04
  • Устройства / версии Android, воспроизводимые на: API эмулятора 28

Как устанавливается языковой стандарт:

    private fun setNewLocaleAndRestart(language: String) {
        LocaleManager(this).setNewLocale(language)

        //restarting app
        val i = Intent(this, SplashScreenActivity::class.java)
        startActivity(i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK))
        finish()
        System.exit(0)
    }

class LocaleManager(val context: Context) {

    val sharedPreferenceManager = createSharedPreferenceManager(context)

    fun setLocale(): Context = updateResources()

    fun setNewLocale(language: String): Context {
        return updateResources(language)
    }


    private fun updateResources(l: String? = null): Context {

        val language = l ?: sharedPreferenceManager.language

        if (language.isBlank()) return context

        val locale = Locale(language)

        Locale.setDefault(locale)

        val res = context.resources
        val config = Configuration(res.configuration)
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
            config.setLocale(locale)
            return context.createConfigurationContext(config)
        } else @Suppress("DEPRECATION") {
            config.locale = locale
            res.updateConfiguration(config, res.displayMetrics)
            return context
        }

    }
}

1 Ответ

0 голосов
/ 08 мая 2019

все работает, кроме подсказок в диалоге отпечатков пальцев

Все системные диалоги будут использовать язык, который пользователь установил для устройства.Это включает в себя системные диалоги для биометрии.

...