package Ġru . a as mc . task ie Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . content . Context Ċ import Ġru . a as mc . task ie . networking . Remote Api Ċ import Ġru . a as mc . task ie . networking . build ApiService Ċ Ċ private Ġconst Ġval ĠKEY _ PREFER ENCES Ġ= Ġ" task ie _ preferences " Ċ private Ġconst Ġval ĠKEY _ TOKEN Ġ= Ġ" token " Ċ Ċ class ĠApp Ġ: ĠApplication () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġlateinit Ġvar Ġinstance : ĠApp ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġpreferences Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinstance . get SharedPreferences ( KEY _ PREFER ENCES , ĠContext . MODE _ PRIVATE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun Ġsave Token ( token : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpreferences . edit () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. putString ( KEY _ TOKEN , Ġtoken ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfun ĠgetToken () Ġ= Ġpreferences . getString ( KEY _ TOKEN , Ġ"") Ġ?: Ġ"" ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġapi Service Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild ApiService () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġremote Api Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRemote Api ( api Service ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĠĠĠĠĠĠĠ Ġinstance Ġ= Ġthis ĊĠĠĠ Ġ} Ċ }