package Ġcom . github . tools . presenter Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Context . MODE _ PRIVATE Ċ import Ġandroid . content . SharedPreferences Ċ import Ġjava . util .* ĊĊ Ċ /** Ċ Ġ* ĠThe Ġcurrent ĠSharedPreferences Ġmethod Ġhas Ġbeen Ġreplaced Ġby ĠData Store Ċ Ġ* ĠFor Ġdetails , Ġplease Ġrefer Ġto Ġhttps :// developer . android . com / topic / libraries / architecture / datastore Ċ Ġ*/ Ċ object ĠSP Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġcontext : ĠContext Ġ= Ġcom . github . tools . data . Context . getContext () ĊĊĠĠĠ Ġ// initialize Ġthe Ġcurrent Ġcollection ĊĠĠĠ Ġprivate Ġvar Ġhash Map : ĠHashMap < String , ĠAny > Ġ= ĠHashMap < String , ĠAny >() ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġadd Ġparam ĊĠĠĠĠ Ġ* Ġ@ param ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Deprecated (" the Ġrecommended Ġmethod Ġis Ġin Ġline Ġ 1 0 Ġof Ġthis Ġcategory ") ĊĠĠĠ Ġfun Ġadd ( key : ĠString , Ġvalue : ĠAny ): ĠSP Ġ{ ĊĠĠĠĠĠĠĠ Ġhash Map . put ( key , Ġvalue ) ĊĠĠĠĠĠĠĠ Ġreturn Ġthis ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġset Ġthe Ġcontent Ġto Ġkey ĊĠĠĠĠ Ġ* Ġ@ param Ġkey Ġkey ĊĠĠĠĠ Ġ* Ġ@ param Ġvalue Ġkey Ġvalue ĊĠĠĠĠ Ġ* Ġ@ param ĠfileName Ġdefine Ġthe Ġsp - stored Ġvalue Ġfile Ġname ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Deprecated (" the Ġrecommended Ġmethod Ġis Ġin Ġline Ġ 1 0 Ġof Ġthis Ġcategory ") ĊĠĠĠ Ġfun Ġset ( fileName : ĠString Ġ= Ġ" share _ preference ") Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( hash Map . size Ġ== Ġ 0 ) Ġthrow ĠNullPointerException (" no Ġparam ") ĊĠĠĠĠĠĠĠ Ġval Ġsp : ĠSharedPreferences Ġ= Ġcontext . get SharedPreferences ( fileName , ĠMODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġfor Ġ( key Ġin Ġhash Map . keys ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue Ġ= Ġhash Map [ key ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Ġ-> Ġsp . edit (). putString ( key , Ġvalue ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Ġ-> Ġsp . edit (). put Int ( key , Ġvalue ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠFloat Ġ-> Ġsp . edit (). put Float ( key , Ġvalue ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBoolean Ġ-> Ġsp . edit (). put Boolean ( key , Ġvalue ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠLong Ġ-> Ġsp . edit (). put Long ( key , Ġvalue ). apply () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠClass CastException (" The Ġcurrent Ġtype Ġis Ġab normal ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġget Ġthe Ġcontent Ġto Ġkey ĊĠĠĠĠ Ġ* Ġ@ param Ġkey Ġkey ĊĠĠĠĠ Ġ* Ġ@ param Ġvalue Ġkey Ġvalue ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Deprecated (" the Ġrecommended Ġmethod Ġis Ġin Ġline Ġ 1 0 Ġof Ġthis Ġcategory ") ĊĠĠĠ Ġfun Ġget ( key : ĠString , ĠfileName : ĠString Ġ= Ġ" share _ preference "): ĠAny ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsp : ĠSharedPreferences Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . get SharedPreferences ( fileName , ĠMODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsp . all [ key ] ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġdetect Ġthe Ġpresence Ġof Ġkeys ĊĠĠĠĠ Ġ* Ġ@ param Ġkey Ġkey ĊĠĠĠĠ Ġ* Ġ@ return Ġreturns Ġwhether Ġthe Ġvalue Ġcorresponding Ġto Ġthis Ġkey Ġexists ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Deprecated (" the Ġrecommended Ġmethod Ġis Ġin Ġline Ġ 1 0 Ġof Ġthis Ġcategory ") ĊĠĠĠ Ġfun Ġcheck Key ( key : ĠString , ĠfileName : ĠString Ġ= Ġ" share _ preference "): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsp : ĠSharedPreferences Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . get SharedPreferences ( fileName , ĠMODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsp . contains ( key ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġdelete Ġthe Ġcontent Ġfor Ġkey ĊĠĠĠĠ Ġ* Ġ@ param Ġkey Ġkey ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Deprecated (" the Ġrecommended Ġmethod Ġis Ġin Ġline Ġ 1 0 Ġof Ġthis Ġcategory ") ĊĠĠĠ Ġfun Ġdelete Key ( key : ĠString , ĠfileName : ĠString Ġ= Ġ" share _ preference "): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsp : ĠSharedPreferences Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . get SharedPreferences ( fileName , ĠMODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġsp . edit (). remove ( key ). apply () ĊĠĠĠĠĠĠĠ Ġreturn Ġsp . all . get ( key ) Ġ== Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġdelete Ġthe Ġcontents Ġof Ġall Ġkeys Ġin Ġthe Ġcurrent Ġfile ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Deprecated (" the Ġrecommended Ġmethod Ġis Ġin Ġline Ġ 1 0 Ġof Ġthis Ġcategory ") ĊĠĠĠ Ġfun Ġdelete All ( fileName : ĠString Ġ= Ġ" share _ preference "): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsp : ĠSharedPreferences Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . get SharedPreferences ( fileName , ĠMODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġsp . edit (). clear (). apply () ĊĠĠĠĠĠĠĠ Ġreturn Ġsp . all . isEmpty () ĊĠĠĠ Ġ} Ċ }