package Ġcom . e eman app . fu o ex a et . data Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . preference . Preference Manager Ċ import Ġcom . e eman app . fu o ex a et . model . User Ċ import Ġcom . e eman app . fu o ex a et . utils . Constants Ċ Ċ class ĠShared Pref ( var Ġcontext : Context ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġpref Ġ= ĠPreference Manager . getDefault SharedPreferences ( context ) ĊĊĠĠĠ Ġfun Ġset UserId ( id : String ){ ĊĠĠĠĠĠĠĠ Ġpref . edit (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Constants . USER _ ID , Ġid ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget UserId (): String ? { ĊĠĠĠĠĠĠĠ Ġreturn Ġpref . getString ( Constants . USER _ ID , Ġ"") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Token ( token : String ){ ĊĠĠĠĠĠĠĠ Ġpref . edit (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Constants . F CM _ TOKEN , Ġtoken ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetToken (): String ? { ĊĠĠĠĠĠĠĠ Ġreturn Ġpref . getString ( Constants . F CM _ TOKEN , Ġ"") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete Prefs (){ ĊĠĠĠĠĠĠĠ Ġpref . edit (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠsetUser ( user : ĠUser ){ ĊĠĠĠĠĠĠĠ Ġpref . edit (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Constants . USER _ FIRST NAME , Ġuser . firstName ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Constants . USER _ LAST NAME , Ġuser . lastName ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Constants . USER _ S CHO OL ID , Ġuser . school Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Constants . USER _ EMAIL , Ġuser . email ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Constants . USER _ PH ON ENUM BER , Ġuser . phoneNumber ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Constants . USER _ IMAGE URL , Ġuser . image Uri ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Boolean ( Constants . HAS _ USER _ PAY , Ġuser . has User Pay ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Constants . USER _ PAYMENT _ REF , Ġuser . user Payment Ref ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Constants . F CM _ TOKEN , Ġuser . fc m Token ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Constants . USER _ CREATED _ BY _ W HO , Ġuser . user CreatedBy Who ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Long ( Constants . USER _ CREATED _ WHEN , Ġuser . user Created When ?: 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Int ( Constants . USER _ USER W HO , Ġuser . user Who ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Constants . USER _ UNIQUE ID , Ġuser . unique Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Constants . PASSWORD , Ġuser . password ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Constants . PROGRAM ME , Ġuser . program me ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Constants . USER _ COL LE GE , Ġuser . col lege ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Constants . USER _ DE PT , Ġuser . dept ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Constants . USER _ ENTR YY EAR , Ġuser . entry Year ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Constants . USER _ H ALL , Ġuser . hall Of Res idence ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput String ( Constants . USER _ H ALL _ NUMBER , Ġuser . hall Room Number ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapply () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetUser (): User { ĊĠĠĠĠĠĠĠ Ġreturn ĠUser (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠfirstName Ġ= Ġpref . getString ( Constants . USER _ FIRST NAME , Ġ"") !! ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlastName Ġ= Ġpref . getString ( Constants . USER _ LAST NAME , Ġ"") !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġschool Id Ġ= Ġpref . getString ( Constants . USER _ S CHO OL ID , Ġ"") !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemail Ġ= Ġpref . getString ( Constants . USER _ EMAIL , Ġ"") !! ĊĠĠĠĠĠĠĠĠĠĠĠ ĠphoneNumber Ġ= Ġpref . getString ( Constants . USER _ PH ON ENUM BER , Ġ"") !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimage Uri Ġ= Ġpref . getString ( Constants . USER _ IMAGE URL , Ġ"") !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhas User Pay Ġ= Ġpref . getBoolean ( Constants . HAS _ USER _ PAY , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser Payment Ref Ġ= Ġpref . getString ( Constants . USER _ PAYMENT _ REF , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġf cm Token Ġ= Ġpref . getString ( Constants . F CM _ TOKEN , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser CreatedBy Who Ġ= Ġpref . getString ( Constants . USER _ CREATED _ BY _ W HO , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser Created When Ġ= Ġpref . getLong ( Constants . USER _ CREATED _ WHEN , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser Who Ġ= Ġpref . getInt ( Constants . USER _ USER W HO , Ġ- 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunique Id Ġ= Ġpref . getString ( Constants . USER _ UNIQUE ID , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= Ġpref . getString ( Constants . PASSWORD , Ġ"") ?: "" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcol lege Ġ= Ġpref . getString ( Constants . USER _ COL LE GE , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdept Ġ= Ġpref . getString ( Constants . USER _ DE PT , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentry Year Ġ= Ġpref . getString ( Constants . USER _ ENTR YY EAR , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhall Of Res idence Ġ= Ġpref . getString ( Constants . USER _ H ALL , Ġ"") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhall Room Number Ġ= Ġpref . getString ( Constants . USER _ H ALL _ NUMBER , Ġ"") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }