package Ġme ow . k tx Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ 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 .* Ċ Ċ /** Ċ Ġ* ĠMe ow ĠContext ĠWrapper . Ċ Ġ* Ċ Ġ* Ġ@ author Ġ ĠH am id re za ĠE te bar ian Ċ Ġ* Ġ@ version Ġ 1 . 0 . 0 Ċ Ġ* Ġ@ since ĠĠĠ 2 0 2 0 - 0 4 - 0 3 Ċ Ġ*/ Ċ Ċ class ĠMe ow Context Wrapper ( base : ĠContext ) Ġ: ĠContext Wrapper ( base ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress Lint (" Obsolete Sdk Int ") ĊĠĠĠĠĠĠĠ Ġfun Ġwrap ( context Param : ĠContext ?, Ġlanguage : ĠString ): ĠContext Wrapper ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġcontext Ġ= Ġcontext Param Ġ?: Ġreturn Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġcontext . resources . configuration ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( language Ġ!= Ġ"") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlocale Ġ= ĠLocale ( language ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLocale . setDefault ( locale ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . N ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset System Locale ( config , Ġlocale ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset System Locale Legacy ( config , Ġlocale ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig . setLayout Direction ( locale ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . J EL LY _ BE AN _ MR 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext Ġ= Ġcontext . create Configuration Context ( config ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . resources . update Configuration ( config , Ġcontext . resources . display Metrics ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠMe ow Context Wrapper ( context ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġget System Locale Legacy ( config : ĠConfiguration ): ĠLocale Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġconfig . locale ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Target Api ( Build . VERSION _ CODES . N ) ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġget System Locale ( config : ĠConfiguration ): ĠLocale Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġconfig . locales . get ( 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠĠĠĠĠ Ġ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 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }