package Ġcom . g 0 0 fy 2 . developer widget . controllers Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . g 0 0 fy 2 . developer widget . base . Base Activity Ċ import Ġcom . g 0 0 fy 2 . developer widget . di . annotations . ACTIVITY Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . with Context Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Named Ċ Ċ class ĠPreference Controller Impl Ġ@ Inject Ġconstructor () Ġ: ĠPreference Controller Ġ{ ĊĊĠ Ġ@ Inject ĊĠ Ġ@ Named ( ACTIVITY ) ĊĠ Ġlateinit Ġvar Ġactivity : ĠBase Activity ĊĊĠ Ġprivate Ġval Ġshared Preference Ġby Ġlazy Ġ{ ĊĠĠĠ Ġactivity . get SharedPreferences ( activity . packageName Ġ+ Ġ". preferences ", ĠContext . MODE _ PRIVATE ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġsuspend Ġfun Ġget ( key : ĠString , Ġdefault : ĠString ): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠ Ġshared Preference . getString ( key , Ġdefault ) Ġ?: Ġdefault ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġsuspend Ġfun Ġget ( key : ĠString , Ġdefault : ĠLong ): ĠLong Ġ{ ĊĠĠĠ Ġreturn Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠ Ġshared Preference . getLong ( key , Ġdefault ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġsuspend Ġfun Ġget ( key : ĠString , Ġdefault : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠ Ġshared Preference . getInt ( key , Ġdefault ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġsuspend Ġfun Ġget ( key : ĠString , Ġdefault : ĠBoolean ): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠ Ġshared Preference . getBoolean ( key , Ġdefault ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġsuspend Ġfun Ġset ( key : ĠString , Ġdata : ĠString ) Ġ{ ĊĠĠĠ Ġreturn Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠ Ġshared Preference . edit (). putString ( key , Ġdata ). apply () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġsuspend Ġfun Ġset ( key : ĠString , Ġdata : ĠLong ) Ġ{ ĊĠĠĠ Ġreturn Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠ Ġshared Preference . edit (). put Long ( key , Ġdata ). apply () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġsuspend Ġfun Ġset ( key : ĠString , Ġdata : ĠInt ) Ġ{ ĊĠĠĠ Ġreturn Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠ Ġshared Preference . edit (). put Int ( key , Ġdata ). apply () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġsuspend Ġfun Ġset ( key : ĠString , Ġdata : ĠBoolean ) Ġ{ ĊĠĠĠ Ġreturn Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠ Ġshared Preference . edit (). put Boolean ( key , Ġdata ). apply () ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ }