package Ġcom . m ush are . pl utos dk Ċ Ċ import Ġandroid . content . SharedPreferences Ċ import Ġkotlin . properties . Deleg ates Ċ Ċ internal Ġclass ĠString Wrapper ( private Ġval Ġsave Key : ĠString ?, Ġprivate Ġval Ġshared Pref : ĠSharedPreferences ) Ġ{ ĊĠĠĠ Ġvar Ġvalue : ĠString ? Ġby ĠDeleg ates . observable ( shared Pref . getString ( save Key , Ġnull )) Ġ{ Ġ_, Ġ_, Ġnew Ġ-> ĊĠĠĠĠĠĠĠ Ġwith ( shared Pref . edit ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( save Key , Ġnew ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġclass ĠInt Wrapper ( private Ġval Ġsave Key : ĠString ?, Ġprivate Ġval Ġshared Pref : ĠSharedPreferences ) Ġ{ ĊĠĠĠ Ġvar Ġvalue : ĠInt ? Ġby ĠDeleg ates . observable ( ĊĠĠĠĠĠĠĠ Ġif Ġ( shared Pref . contains ( save Key )) Ġshared Pref . getInt ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsave Key , ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 ĊĠĠĠĠĠĠĠ Ġ) Ġelse Ġnull ĊĠĠĠ Ġ) Ġ{ Ġ_, Ġ_, Ġnew Ġ-> ĊĠĠĠĠĠĠĠ Ġwith ( shared Pref . edit ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( new Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove ( save Key ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Int ( save Key , Ġnew ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }