androidmalin / AndroidComponentPlugin

Android上简单实现四大组件的插件化,供学习使用
460 stars 58 forks source link

Updating Locale config for PluginAPK resources is not working #8

Open gabriel-rajadurai opened 1 year ago

gabriel-rajadurai commented 1 year ago

I wanted to check how localization would work with plugins, but ran into an issue.

What I have is a LocaleHelper class,

object LocaleHelper {

  @JvmStatic
  fun onAttach(context: Context): Context {
    val chinese = Locale.CHINESE
    val locale = Locale(chinese.language, chinese.country)
    Locale.setDefault(locale)
    val configuration =
      context.resources.configuration
    configuration.setLocale(locale)
    configuration.setLayoutDirection(locale)
    return context.createConfigurationContext(configuration)
  }
}

I use this class with the plugin context mContext that is created in the BaseActivity.

LocaleHelper.onAttach(mContext).getString(R.string.localized_text)

I have added this localized_text string resource for both English and Chinese. But on running this, it prints some random text.

I tried this with the pluginApk sample app and it printed "sans-serif-medium", which is just weird.

A solution for this would be really helpful.