25 lines
No EOL
973 B
Kotlin
25 lines
No EOL
973 B
Kotlin
package code.name.monkey.retromusic
|
|
|
|
import android.content.Context
|
|
import android.content.ContextWrapper
|
|
import android.os.LocaleList
|
|
import code.name.monkey.appthemehelper.util.VersionUtils.hasNougatMR
|
|
import java.util.*
|
|
|
|
class LanguageContextWrapper(base: Context?) : ContextWrapper(base) {
|
|
companion object {
|
|
fun wrap(context: Context?, newLocale: Locale?): LanguageContextWrapper {
|
|
if (context == null) return LanguageContextWrapper(context)
|
|
val configuration = context.resources.configuration
|
|
if (hasNougatMR()) {
|
|
configuration.setLocale(newLocale)
|
|
val localeList = LocaleList(newLocale)
|
|
LocaleList.setDefault(localeList)
|
|
configuration.setLocales(localeList)
|
|
} else {
|
|
configuration.setLocale(newLocale)
|
|
}
|
|
return LanguageContextWrapper(context.createConfigurationContext(configuration))
|
|
}
|
|
}
|
|
} |