package Ġtop . ease link . lc g . sp ip edata Ċ Ċ import Ġkotlinx . coroutines . Global Scope Ċ import Ġkotlinx . coroutines . launch Ċ import Ġtop . ease link . framework . thread pool . Calc Pool Ċ import Ġtop . ease link . lc g . ui . main . source . local . Articles Local DataSource Ċ import Ġtop . ease link . lc g . utils . SharedPreferences Helper Ċ Ċ object ĠUser Data Ġ{ ĊĊĠĠĠ Ġvar Ġavatar : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġget ( SP _ KEY _ USER _ AV AT AR , Ġ"") ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġput ( SP _ KEY _ USER _ AV AT AR , Ġvalue ) ĊĊĠĠĠ Ġvar Ġgroup : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġget ( SP _ KEY _ USER _ GROUP , Ġ"") ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġput ( SP _ KEY _ USER _ GROUP , Ġvalue ) ĊĊĠĠĠ Ġvar Ġcoin : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġget ( SP _ KEY _ USER _ CO IN , Ġ"") ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġput ( SP _ KEY _ USER _ CO IN , Ġvalue ) ĊĊĠĠĠ Ġvar Ġcredit : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġget ( SP _ KEY _ USER _ CRED IT , Ġ"") ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġput ( SP _ KEY _ USER _ CRED IT , Ġvalue ) ĊĊĠĠĠ Ġvar Ġent hus i astic Value : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġget ( SP _ KEY _ USER _ ENT H US I AST IC , Ġ"") ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġput ( SP _ KEY _ USER _ ENT H US I AST IC , Ġvalue ) ĊĊĠĠĠ Ġvar Ġanswer Rate : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġget ( SP _ KEY _ USER _ AN SW ER _ RATE , Ġ"") ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġput ( SP _ KEY _ USER _ AN SW ER _ RATE , Ġvalue ) ĊĊĠĠĠ Ġvar Ġusername : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġget ( SP _ KEY _ USER _ NAME , Ġ"") ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġput ( SP _ KEY _ USER _ NAME , Ġvalue ) ĊĊĠĠĠ Ġvar Ġsign In State : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġget ( SP _ KEY _ SIGN _ IN _ STATE , Ġ"") ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġput ( SP _ KEY _ SIGN _ IN _ STATE , Ġvalue ) ĊĊĠĠĠ Ġvar Ġis LoggedIn : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġget ( SP _ KEY _ LOG GED _ IN , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput ( SP _ KEY _ LOG GED _ IN , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear All () Ġ{ ĊĠĠĠĠĠĠĠ ĠSharedPreferences Helper . getUser Sp (). edit (). clear (). apply () ĊĠĠĠĠĠĠĠ ĠGlobal Scope . launch ( Calc Pool ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠArticles Local DataSource . del All Articles From Favorite () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ", Ġ" IMP LICIT _ CAST _ TO _ ANY ") ĊĠĠĠ Ġprivate Ġfun Ġ< T Ġ: ĠAny > Ġget ( key : ĠString , Ġdefault : ĠT ): ĠT Ġ{ ĊĠĠĠĠĠĠĠ ĠSharedPreferences Helper . getUser Sp (). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġwhen Ġ( default ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġit . getString ( key , Ġdefault Ġas ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġit . getInt ( key , Ġdefault Ġas ĠInt ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBoolean Ġ-> Ġit . getBoolean ( key , Ġdefault Ġas ĠBoolean ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġres Ġas ? ĠT Ġ?: Ġdefault ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġ< T Ġ: ĠAny ?> Ġput ( key : ĠString , Ġvalue : ĠT ) Ġ{ ĊĠĠĠĠĠĠĠ ĠSharedPreferences Helper ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. getUser Sp () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. edit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġput String ( key , Ġvalue Ġas ĠString ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġput Int ( key , Ġvalue Ġas ĠInt ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBoolean Ġ-> Ġput Boolean ( key , Ġvalue Ġas ĠBoolean ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply () ĊĠĠĠ Ġ} Ċ Ċ } ĊĊ