|
|
@@ -6,8 +6,10 @@ import android.content.res.Resources
|
|
|
import android.os.Build
|
|
|
import android.os.LocaleList
|
|
|
import androidx.annotation.RequiresApi
|
|
|
+import com.adealink.frame.frame.BaseFrame
|
|
|
import com.adealink.frame.locale.language.data.Language
|
|
|
import com.adealink.frame.locale.language.config.ILanguageConfig
|
|
|
+import com.adealink.frame.locale.language.listener.ILanguageListener
|
|
|
import com.adealink.frame.log.Log
|
|
|
import com.adealink.frame.util.AppUtil
|
|
|
import com.adealink.frame.util.ProcessUtil
|
|
|
@@ -26,7 +28,8 @@ fun createLanguageManager(config: ILanguageConfig): ILanguageManager {
|
|
|
return manager
|
|
|
}
|
|
|
|
|
|
-private class LanguageManager(private val config: ILanguageConfig) : ILanguageManager {
|
|
|
+private class LanguageManager(private val config: ILanguageConfig) : BaseFrame<ILanguageListener>(),
|
|
|
+ ILanguageManager {
|
|
|
|
|
|
companion object {
|
|
|
private const val TAG = "tag_language"
|
|
|
@@ -101,6 +104,9 @@ private class LanguageManager(private val config: ILanguageConfig) : ILanguageMa
|
|
|
override fun updateLanguage(language: Language) {
|
|
|
currentLanguage = language
|
|
|
updateLocale(language.locale)
|
|
|
+ dispatch {
|
|
|
+ it.onLanguageChanged(language)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private fun updateLocale(locale: Locale) {
|