package Ġcom . fl x rs . d ank chat . preferences Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroidx . core . content . edit Ċ import Ġcom . fl x rs . d ank chat . R Ċ Ċ class ĠD ank Chat Preference Store ( context : ĠContext ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġd ank Chat Preferences : ĠSharedPreferences Ġ= Ġcontext . get SharedPreferences ( context . getString ( R . string . shared _ preference _ key ), ĠContext . MODE _ PRIVATE ) ĊĠĠĠ Ġvar Ġis LoggedIn : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġd ank Chat Preferences . getBoolean ( LOG GED _ IN _ KEY , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġd ank Chat Preferences . edit Ġ{ Ġput Boolean ( LOG GED _ IN _ KEY , Ġvalue ) Ġ} ĊĊĠĠĠ Ġvar Ġo Auth Key : ĠString ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġd ank Chat Preferences . getString ( O AUTH _ KEY , Ġnull ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġd ank Chat Preferences . edit Ġ{ Ġput String ( O AUTH _ KEY , Ġvalue ) Ġ} ĊĊĠĠĠ Ġvar Ġchannels String : ĠString ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġd ank Chat Preferences . getString ( CHANNEL S _ AS _ STRING _ KEY , Ġnull ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġd ank Chat Preferences . edit Ġ{ Ġput String ( CHANNEL S _ AS _ STRING _ KEY , Ġvalue ) Ġ} ĊĊĠĠĠ Ġvar Ġchannels : ĠMutable Set < String >? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġd ank Chat Preferences . getString Set ( CHANNEL S _ KEY , Ġset Of ()) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġd ank Chat Preferences . edit Ġ{ Ġput String Set ( CHANNEL S _ KEY , Ġvalue ) Ġ} ĊĊĠĠĠ Ġvar ĠuserName : ĠString ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġd ank Chat Preferences . getString ( NAME _ KEY , Ġnull ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġd ank Chat Preferences . edit Ġ{ Ġput String ( NAME _ KEY , Ġvalue ) Ġ} ĊĊĠĠĠ Ġvar ĠuserId : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġd ank Chat Preferences . getInt ( ID _ KEY , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġd ank Chat Preferences . edit Ġ{ Ġput Int ( ID _ KEY , Ġvalue ) Ġ} ĊĊĠĠĠ Ġvar ĠuserId String : ĠString ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġd ank Chat Preferences . getString ( ID _ STRING _ KEY , Ġnull ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġd ank Chat Preferences . edit Ġ{ Ġput String ( ID _ STRING _ KEY , Ġvalue ) Ġ} ĊĊĠĠĠ Ġvar Ġhas Nu uls Ack nowled ged : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġd ank Chat Preferences . getBoolean ( NU UL S _ ACK _ KEY , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġd ank Chat Preferences . edit Ġ{ Ġput Boolean ( NU UL S _ ACK _ KEY , Ġvalue ) Ġ} ĊĊĠĠĠ Ġvar Ġhas Message History Ack nowled ged : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġd ank Chat Preferences . getBoolean ( MESSAGES _ HISTORY _ ACK _ KEY , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġd ank Chat Preferences . edit Ġ{ Ġput Boolean ( MESSAGES _ HISTORY _ ACK _ KEY , Ġvalue ) Ġ} ĊĊĠĠĠ Ġvar Ġhas Api Change Ack nowled ged : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġd ank Chat Preferences . getBoolean ( API _ CHANGE _ ACK _ KEY , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ= Ġd ank Chat Preferences . edit Ġ{ Ġput Boolean ( API _ CHANGE _ ACK _ KEY , Ġvalue ) Ġ} ĊĊĠĠĠ Ġfun Ġclear Login () Ġ= Ġd ank Chat Preferences . edit Ġ{ ĊĠĠĠĠĠĠĠ Ġput Boolean ( LOG GED _ IN _ KEY , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġput String ( O AUTH _ KEY , Ġ"") ĊĠĠĠĠĠĠĠ Ġput String ( NAME _ KEY , Ġ"") ĊĠĠĠĠĠĠĠ Ġput String ( ID _ STRING _ KEY , Ġ"") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Channels (): ĠList < String > Ġ= Ġchannels String ?. split (',') Ġ?: Ġchannels . also Ġ{ Ġchannels Ġ= Ġnull Ġ} ?. toList (). or Empty () ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠLOG GED _ IN _ KEY Ġ= Ġ" logged In " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠO AUTH _ KEY Ġ= Ġ" o Auth Key " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠNAME _ KEY Ġ= Ġ" name Key " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠCHAN NEL S _ KEY Ġ= Ġ" channels Key " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠCHAN NEL S _ AS _ STRING _ KEY Ġ= Ġ" channels AsString Key " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠID _ KEY Ġ= Ġ" id Key " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠID _ STRING _ KEY Ġ= Ġ" id String Key " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠNU UL S _ ACK _ KEY Ġ= Ġ" nu uls Ack Key " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠMESS AGES _ HISTORY _ ACK _ KEY Ġ= Ġ" message History Ack Key " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠAPI _ CHANGE _ ACK _ KEY Ġ= Ġ" api Change Ack Key " ĊĠĠĠ Ġ} Ċ }