@ file : Jvm Name (" Android Helper ") Ċ Ċ package Ġru . art 2 0 0 0 . helpers Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . res . Configuration Ċ import Ġandroid . content . res . Resources Ċ import Ġandroid . os . Build Ċ import Ġandroid . util . Typed Value Ċ import Ġandroidx . annotation .* Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġjava . util .* Ċ Ċ fun ĠContext . dip 2 px ( dip : ĠFloat ): ĠInt Ġ= ĠTyped Value ĊĠĠĠĠĠĠĠ Ġ. apply Dimension ( Typed Value . COMPLEX _ UNIT _ DIP , Ġdip , Ġresources . display Metrics ) ĊĠĠĠĠĠĠĠ Ġ. toInt () Ċ Ċ @ Suppress (" deprecation ") Ċ fun Ġ< T > ĠContext . get Localized Resource ( desired Locale : ĠLocale , Ġresource Getter : Ġ( Resources ) Ġ-> ĠT ): ĠT Ġ{ ĊĠĠĠ Ġval Ġcurrent Configuration Ġ= Ġresources . configuration ĊĠĠĠ Ġval Ġlocalized Configuration Ġ= ĠConfiguration ( current Configuration ) ĊĠĠĠ Ġreturn Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . J EL LY _ BE AN _ MR 1 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlocalized Configuration . set Locale ( desired Locale ) ĊĠĠĠĠĠĠĠ Ġval Ġlocalized Context Ġ= Ġcreate Configuration Context ( localized Configuration ) ĊĠĠĠĠĠĠĠ Ġresource Getter ( localized Context . resources ) ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġlocalized Configuration . locale Ġ= Ġdesired Locale ĊĠĠĠĠĠĠĠ Ġval Ġlocalized Resources Ġ= ĠResources ( assets , Ġresources . display Metrics , Ġlocalized Configuration ) ĊĠĠĠĠĠĠĠ Ġval Ġresource Ġ= Ġresource Getter ( localized Resources ) ĊĠĠĠĠĠĠĠ Ġresources . update Configuration ( current Configuration , Ġresources . display Metrics ) ĊĠĠĠĠĠĠĠ Ġresource ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠContext . get Localized String ( ĊĠĠĠĠĠĠĠ Ġdesired Locale : ĠLocale , ĊĠĠĠĠĠĠĠ Ġ@ String Res Ġres Id : ĠInt Ċ )= Ġget Localized Resource ( desired Locale ) Ġ{ Ġit . getString ( res Id ) Ġ} Ċ Ċ fun ĠContext . get Localized Array ( ĊĠĠĠĠĠĠĠ Ġdesired Locale : ĠLocale , ĊĠĠĠĠĠĠĠ Ġ@ Array Res Ġres Id : ĠInt Ċ ): ĠArray < String > Ġ= Ġget Localized Resource ( desired Locale ) Ġ{ Ġit . getString Array ( res Id ) Ġ} Ċ Ċ @ Color Int Ċ fun ĠContext . getColor Attribute (@ Attr Res Ġattribute : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġval Ġtyped Value Ġ= ĠTyped Value () ĊĠĠĠ Ġtheme . resolve Attribute ( attribute , Ġtyped Value , Ġtrue ) ĊĠĠĠ Ġreturn ĠContext Compat . getColor ( this , Ġtyped Value . resourceId ) Ċ } Ċ Ċ @ Dimension Ċ fun ĠContext . get Dim en Attribute (@ Attr Res Ġattribute : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġval Ġtyped Value Ġ= ĠTyped Value () ĊĠĠĠ Ġtheme . resolve Attribute ( attribute , Ġtyped Value , Ġtrue ) ĊĠĠĠ Ġreturn Ġresources . get Dimension Pixel Offset ( typed Value . resourceId ) Ċ }