package Ġcom . auth 0 . android . authentication . storage Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . SharedPreferences Ċ import Ġandroid . text . TextUtils Ċ Ċ /** Ċ Ġ* ĠAn Ġimplementation Ġof Ġ[ Storage ] Ġthat Ġuses Ġ[ android . content . SharedPreferences ] Ġin ĠContext . MODE _ PRIVATE Ġto Ġstore Ġthe Ġvalues . Ċ Ġ* Ċ Ġ* Ġ@ param Ġcontext ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġa Ġvalid Ġcontext Ċ Ġ* Ġ@ param Ġshared Preferences Name Ġthe Ġpreferences Ġfile Ġname Ċ Ġ*/ Ċ public Ġclass ĠSharedPreferences Storage Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠ Ġcontext : ĠContext , ĊĠĠĠ Ġshared Preferences Name : ĠString Ġ= ĠSHARE D _ PREFER ENCES _ NAME Ċ ) Ġ: ĠStorage Ġ{ ĊĠĠĠ Ġprivate Ġval Ġsp : ĠSharedPreferences ĊĠĠĠ Ġoverride Ġfun Ġstore ( name : ĠString , Ġvalue : ĠLong ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsp . edit (). remove ( name ). apply () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsp . edit (). put Long ( name , Ġvalue ). apply () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstore ( name : ĠString , Ġvalue : ĠInt ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsp . edit (). remove ( name ). apply () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsp . edit (). put Int ( name , Ġvalue ). apply () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstore ( name : ĠString , Ġvalue : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsp . edit (). remove ( name ). apply () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsp . edit (). putString ( name , Ġvalue ). apply () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstore ( name : ĠString , Ġvalue : ĠBoolean ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsp . edit (). remove ( name ). apply () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsp . edit (). put Boolean ( name , Ġvalue ). apply () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġretrieve Long ( name : ĠString ): ĠLong ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ(! sp . contains ( name )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġsp . getLong ( name , Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġretrieve String ( name : ĠString ): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ(! sp . contains ( name )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġsp . getString ( name , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġretrieve Integer ( name : ĠString ): ĠInt ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ(! sp . contains ( name )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġsp . getInt ( name , Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġretrieve Boolean ( name : ĠString ): ĠBoolean ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ(! sp . contains ( name )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġsp . getBoolean ( name , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove ( name : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsp . edit (). remove ( name ). apply () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠSHARE D _ PREFER ENCES _ NAME Ġ= Ġ" com . auth 0 . authentication . storage " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġrequire (! TextUtils . isEmpty ( shared Preferences Name )) Ġ{ Ġ" The ĠSharedPreferences Ġname Ġis Ġinvalid ." Ġ} ĊĠĠĠĠĠĠĠ Ġsp Ġ= Ġcontext . get SharedPreferences ( shared Preferences Name , ĠContext . MODE _ PRIVATE ) ĊĠĠĠ Ġ} Ċ }