package Ġcom . red ridge apps . remote for q bit torrent . util . delegate Ċ Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroidx . core . content . edit Ċ import Ġkotlin . properties . ReadWrite Property Ċ import Ġkotlin . reflect . K Property Ċ Ċ class ĠString Pref Delegate ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġprefs : ĠSharedPreferences , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġpref Key : ĠString , ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠdefaultValue : ĠString Ċ ) Ġ: ĠRead Write Property < Any , ĠString > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠgetValue ( this Ref : ĠAny , Ġproperty : ĠK Property < *> ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġprefs . getString ( pref Key , ĠdefaultValue ) !! ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠsetValue ( this Ref : ĠAny , Ġproperty : ĠK Property <* >, Ġvalue : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprefs . edit Ġ{ Ġput String ( pref Key , Ġvalue ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠInt Pref Delegate ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġprefs : ĠSharedPreferences , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġpref Key : ĠString , ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠdefaultValue : ĠInt Ċ ) Ġ: ĠRead Write Property < Any , ĠInt > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠgetValue ( this Ref : ĠAny , Ġproperty : ĠK Property < *> ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġprefs . getInt ( pref Key , ĠdefaultValue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠsetValue ( this Ref : ĠAny , Ġproperty : ĠK Property <* >, Ġvalue : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprefs . edit Ġ{ Ġput Int ( pref Key , Ġvalue ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠBoolean Pref Delegate ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġprefs : ĠSharedPreferences , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġpref Key : ĠString , ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠdefaultValue : ĠBoolean Ċ ) Ġ: ĠRead Write Property < Any , ĠBoolean > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠgetValue ( this Ref : ĠAny , Ġproperty : ĠK Property < *> ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġprefs . getBoolean ( pref Key , ĠdefaultValue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠsetValue ( this Ref : ĠAny , Ġproperty : ĠK Property <* >, Ġvalue : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprefs . edit Ġ{ Ġput Boolean ( pref Key , Ġvalue ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ