package Ġcom . money tree . app . common Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . SharedPreferences Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . money tree . app . Build Config Ċ import Ġcom . money tree . app . repository . network . responses . NS User Response Ċ Ċ /** Ċ Ġ* ĠClass Ġto Ġmaintain Ġshared Ġpreference Ċ Ġ*/ Ċ class ĠN SP references ( context : ĠContext ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġpreference : ĠSharedPreferences Ġ= ĊĠĠĠĠĠĠĠ Ġcontext . get SharedPreferences ( Build Config . PREFER ENCE , ĠContext . MODE _ PRIVATE ) ĊĠĠĠ Ġprivate Ġval Ġpref Edit : ĠSharedPreferences . Editor Ġ= Ġpreference . edit () ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Keys Ġfor Ġuser Ġdata ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠKEY _ AUTH _ TOKEN Ġ= Ġ" token " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠKEY _ USER _ DATA Ġ= Ġ" key _ user _ data " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠKEY _ OFF ER _ TAB _ POSITION Ġ= Ġ" key _ offer _ tab _ position " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠProperty Ġthat Ġcontains Ġthe Ġauthentication Ġtoken Ġto Ġused Ġfor Ġauthentication Ġweb Ġservice Ġcall ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġauth Token : ĠString ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġpreference . getString ( KEY _ AUTH _ TOKEN , Ġnull ) ĊĠĠĠĠĠĠĠ Ġset ( token ) Ġ= Ġpref Edit . putString ( KEY _ AUTH _ TOKEN , Ġtoken ). apply () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠProperty Ġthat Ġcontains Ġlogin Ġuser Ġdata ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar ĠuserData : ĠNS User Response ? ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson : ĠString ? Ġ= Ġpreference . getString ( KEY _ USER _ DATA , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠGson (). fromJson ( json , ĠNS User Response :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġset ( login Response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġjson : ĠString Ġ= ĠGson (). toJson ( login Response ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpref Edit . putString ( KEY _ USER _ DATA , Ġjson ). apply () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠProperty Ġthat Ġcontains Ġlanguage Ġselected Ġdata ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġoffer Tab Position : ĠInt ? ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġpreference . getInt ( KEY _ OFF ER _ TAB _ POSITION , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġset ( language ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpref Edit . put Int ( KEY _ OFF ER _ TAB _ POSITION , Ġlanguage !! ). apply () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTo Ġclear Ġall Ġpreferences Ġdata ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġclear Pref Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġpref Edit . clear (). apply () ĊĠĠĠ Ġ} Ċ }