package Ġcom . rom m ans abb ir . cache x . storage Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroidx . core . content . edit Ċ Ċ class ĠCache X Storage Impl ( context : ĠContext , ĠappName : ĠString ) Ġ: ĠCache X Storage Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġm SharedPreferences : ĠSharedPreferences Ġ= ĊĠĠĠĠĠĠĠ Ġcontext . get SharedPreferences ( appName , ĠContext . MODE _ PRIVATE ) ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdo Cache ( data : ĠString , Ġkey : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġget Shared Pref (). edit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( key , Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Cache ( key : ĠString ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Shared Pref (). getString ( key , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġregister Listener ( listener : ĠSharedPreferences . On Shared Preference ChangeListener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . m SharedPreferences . register On Shared Preference ChangeListener ( listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclear Cache ByKey ( key : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm SharedPreferences . edit (). remove ( key ). apply () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclear All Cache () Ġ{ ĊĠĠĠĠĠĠĠ Ġm SharedPreferences . edit (). clear (). apply () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Shared Pref (): ĠSharedPreferences Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġm SharedPreferences ĊĠĠĠ Ġ} Ċ Ċ } ĊĊĊĊ