package Ġcom . s yle im an . ging erm oney . core . utils . app _ resources Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . os . Build Ċ import Ġandroidx . annotation .* Ċ import Ġcom . s yle im an . ging erm oney . R Ċ import Ġcom . s yle im an . ging erm oney . core . global _ entities . date _ time . DateTime Format Ċ import Ġcom . s yle im an . ging erm oney . dto . enums . Account Group Ċ import Ġcom . s yle im an . ging erm oney . dto . enums . App Protection Method Ċ import Ġcom . s yle im an . ging erm oney . dto . enums . Color Ċ import Ġorg . th reet en . bp . DayOfWeek Ċ import Ġjava . lang . Unsupported OperationException Ċ import Ġjava . text . Message Format Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠApp Resources Provider Impl Ċ @ Inject Ċ constructor ( ĊĠĠĠ Ġprivate Ġval Ġapp Context : ĠContext Ċ ) Ġ: ĠApp Resources Provider Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Locale (): ĠString Ġ= ĠgetString ( R . string . locale ) ĊĊĠĠĠ Ġoverride Ġfun ĠgetString ( res Id : ĠInt ): ĠString Ġ= Ġapp Context . getString ( res Id ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġstring Ġand Ġformats Ġit ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġget Formatted String (@ String Res Ġres Id : ĠInt , Ġvar arg Ġargs : ĠAny ): ĠString Ġ= ĊĠĠĠĠĠĠĠ Ġwhen ( args . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> ĠMessage Format . format ( getString ( res Id ), Ġargs [ 0 ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> ĠMessage Format . format ( getString ( res Id ), Ġargs [ 0 ], Ġargs [ 1 ]) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> ĠMessage Format . format ( getString ( res Id ), Ġargs [ 0 ], Ġargs [ 1 ], Ġargs [ 2 ]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠUnsupportedOperationException (" Too Ġmany Ġarguments : Ġ${ args . size }") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Int (@ Integer Res Ġres Id : ĠInt ): ĠInt Ġ= Ġapp Context . resources . getInteger ( res Id ) ĊĊĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠ Ġ@ Color Int ĊĠĠĠ Ġoverride Ġfun Ġget Color (@ Color Res Ġres Id : ĠInt ): ĠInt Ġ= ĊĠĠĠĠĠĠĠ Ġif ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . M ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Context . resources . getColor ( res Id , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Context . resources . getColor ( res Id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Color Int ĊĠĠĠ Ġoverride Ġfun Ġget Color ( color : ĠColor ): ĠInt Ġ= ĊĠĠĠĠĠĠĠ Ġwhen ( color ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . BLACK Ġ-> Ġget Color ( R . color . black ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . WHITE Ġ-> Ġget Color ( R . color . white ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . RED Ġ-> Ġget Color ( R . color . red ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . PIN K Ġ-> Ġget Color ( R . color . pink ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . PUR PLE Ġ-> Ġget Color ( R . color . purple ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . DE EP _ PUR PLE Ġ-> Ġget Color ( R . color . deep Pur ple ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . IND IG O Ġ-> Ġget Color ( R . color . indigo ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . BLUE Ġ-> Ġget Color ( R . color . blue ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . LIGHT _ BLUE Ġ-> Ġget Color ( R . color . light Blue ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . CY AN Ġ-> Ġget Color ( R . color . cyan ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . TE AL Ġ-> Ġget Color ( R . color . teal ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . GREEN Ġ-> Ġget Color ( R . color . green ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . LIGHT _ GREEN Ġ-> Ġget Color ( R . color . light Green ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . LI ME Ġ-> Ġget Color ( R . color . lime ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . YELLOW Ġ-> Ġget Color ( R . color . yellow ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . AM BER Ġ-> Ġget Color ( R . color . amber ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . OR ANGE Ġ-> Ġget Color ( R . color . orange ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColor . DE EP _ OR ANGE Ġ-> Ġget Color ( R . color . deep Orange ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Bool (@ Bool Res Ġbool Res Id : ĠInt ): ĠBoolean Ġ= Ġapp Context . resources . getBoolean ( bool Res Id ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġdimension Ġvalue Ġin Ġpixels ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġget Dimension (@ Dim en Res Ġres Id : ĠInt ): ĠFloat Ġ= Ġapp Context . resources . get Dimension ( res Id ) ĊĊĠĠĠ Ġ/** ĠGet Ġdrawable Ġresource Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġget Drawable (@ Drawable Res Ġres Id : ĠInt ) Ġ: ĠDrawable Ġ= Ġapp Context . resources . get Drawable ( res Id , Ġnull ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġmetadata Ġvalue Ġas Ġstring ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġget Metadata Value ( key : ĠString ): ĠAny ? Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġapp Context ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. package Manager ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. getApplication Info ( app Context . packageName , ĠPackage Manager . GET _ META _ DATA ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. metaData ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get ( key ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠPackage Manager . Name NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġex . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġstring Ġvalue Ġfor Ġan Ġapp Ġprotection Ġmethod ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġget App Protection Method String ( protection Method : ĠApp Protection Method ): ĠString Ġ= ĊĠĠĠĠĠĠĠ Ġwhen ( protection Method ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp Protection Method . MASTER _ PASSWORD Ġ-> ĠgetString ( R . string . pass Method Master Password ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp Protection Method . F ING ER PRINT Ġ-> ĠgetString ( R . string . pass Method Fingerprint ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp Protection Method . WITHOUT _ PRO TE CTION Ġ-> ĠgetString ( R . string . pass Method Without Protection ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġstring Ġvalue Ġfor Ġa Ġday Ġof Ġweek ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġget DayOfWeek String ( day OfWeek : ĠDay OfWeek ): ĠString Ġ= ĊĠĠĠĠĠĠĠ Ġwhen ( day OfWeek ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDay OfWeek . MON DAY Ġ-> ĠgetString ( R . string . day Monday ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDay OfWeek . T UES DAY Ġ-> ĠgetString ( R . string . day Tuesday ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDay OfWeek . W ED N ES DAY Ġ-> ĠgetString ( R . string . day Wednesday ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDay OfWeek . TH UR SD AY Ġ-> ĠgetString ( R . string . day Thursday ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDay OfWeek . FR ID AY Ġ-> ĠgetString ( R . string . day Friday ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDay OfWeek . S ATUR DAY Ġ-> ĠgetString ( R . string . day Saturday ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDay OfWeek . S UND AY Ġ-> ĠgetString ( R . string . day S unday ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġstring Ġvalue Ġfor Ġan Ġaccount Ġgroup ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġget Account Group String ( group : ĠAccount Group ): ĠString Ġ= ĊĠĠĠĠĠĠĠ Ġwhen ( group ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAccount Group . C ASH Ġ-> ĠgetString ( R . string . payment Cash ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAccount Group . CAR DS Ġ-> ĠgetString ( R . string . payment Cards ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAccount Group . CRED IT _ CAR DS Ġ-> ĠgetString ( R . string . payment Credit Cards ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAccount Group . DE BIT _ CAR DS Ġ-> ĠgetString ( R . string . payment Debit Cards ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAccount Group . ACCOUNT S Ġ-> ĠgetString ( R . string . payment Accounts ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAccount Group . DE POS ITS Ġ-> ĠgetString ( R . string . payment De posits ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAccount Group . SA V INGS Ġ-> ĠgetString ( R . string . payment S avings ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAccount Group . IN VE ST MENTS Ġ-> ĠgetString ( R . string . payment Invest ments ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAccount Group . SHARE S Ġ-> ĠgetString ( R . string . payment Shares ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAccount Group . B ON DS Ġ-> ĠgetString ( R . string . payment Bon ds ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAccount Group . OTHER Ġ-> ĠgetString ( R . string . payment Other ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget DateTime Format ( format : ĠDateTime Format ): ĠString Ġ= ĊĠĠĠĠĠĠĠ Ġwhen ( format ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDateTime Format . MONTH _ AND _ YEAR Ġ-> ĠgetString ( R . string . date Format Month And Year ) ĊĠĠĠĠĠĠĠ Ġ} Ċ }