package Ġcom . simple mobile tools . commons . helpers Ċ Ċ import Ġandroid . annotation . Target Api Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Context Wrapper Ċ import Ġandroid . content . res . Configuration Ċ import Ġandroid . os . Build Ċ import Ġjava . util .* Ċ Ċ // Ġlanguage Ġforcing Ġused Ġat Ġ" Use Ġenglish Ġlanguage ", Ġtaken Ġfrom Ġhttps :// stackoverflow . com / a / 4 0 7 0 4 0 7 7 / 1 9 6 7 6 7 2 Ċ class ĠMy Context Wrapper ( context : ĠContext ) Ġ: ĠContext Wrapper ( context ) Ġ{ ĊĊĠĠĠ Ġ@ Target Api ( Build . VERSION _ CODES . J EL LY _ BE AN _ MR 1 ) ĊĠĠĠ Ġfun Ġwrap ( context : ĠContext , Ġlanguage : ĠString ): ĠContext Wrapper Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġnew Context Ġ= Ġcontext ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġnew Context . resources . configuration ĊĠĠĠĠĠĠĠ Ġval Ġsys Locale : ĠLocale ? ĊĊĠĠĠĠĠĠĠ Ġsys Locale Ġ= Ġif Ġ( is N ou gat Plus ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget System Locale ( config ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget System Locale Legacy ( config ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( language Ġ!= Ġ"" Ġ&& Ġsys Locale !!. language Ġ!= Ġlanguage ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocale Ġ= ĠLocale ( language ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocale . setDefault ( locale ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is N ou gat Plus ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset System Locale ( config , Ġlocale ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset System Locale Legacy ( config , Ġlocale ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( is J el ly Bean 1 Plus ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Context Ġ= Ġnew Context . create Configuration Context ( config ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Context . resources . update Configuration ( config , Ġnew Context . resources . display Metrics ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠMy Context Wrapper ( new Context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget System Locale Legacy ( config : ĠConfiguration ) Ġ= Ġconfig . locale ĊĊĠĠĠ Ġ@ Target Api ( Build . VERSION _ CODES . N ) ĊĠĠĠ Ġprivate Ġfun Ġget System Locale ( config : ĠConfiguration ) Ġ= Ġconfig . locales . get ( 0 ) ĊĊĠĠĠ Ġprivate Ġfun Ġset System Locale Legacy ( config : ĠConfiguration , Ġlocale : ĠLocale ) Ġ{ ĊĠĠĠĠĠĠĠ Ġconfig . locale Ġ= Ġlocale ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Target Api ( Build . VERSION _ CODES . N ) ĊĠĠĠ Ġprivate Ġfun Ġset System Locale ( config : ĠConfiguration , Ġlocale : ĠLocale ) Ġ{ ĊĠĠĠĠĠĠĠ Ġconfig . set Locale ( locale ) ĊĠĠĠ Ġ} Ċ } Ċ