package Ġcom . nic olas . image gallery . view model Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . nic olas . image gallery . api . Response Parser Ċ import Ġcom . nic olas . image gallery . api . response . Auth Response Ċ import Ġcom . nic olas . image gallery . repository . App Repo Ċ import Ġcom . nic olas . image gallery . session . Session Manager Ċ import Ġcom . nic olas . image gallery . view model . event . Event Ċ Ċ class ĠAuth ViewModel Ġ: ĠCor outine ViewModel () Ġ{ ĊĊĠĠĠ Ġval Ġauth LiveData : ĠMutable LiveData < Event < Auth Response >> Ġ= ĠMutable LiveData () ĊĊĠĠĠ Ġfun Ġauthenticate () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġexecute In Background ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Background Task Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResponse Parser . parse ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Repo . authenticate (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAuth Response :: class . java ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġis ĠAuth Response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . let Ġ{ Ġresponse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauth LiveData . value Ġ= ĠEvent ( response ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġstore Credentials ( context : ĠContext , Ġtoken : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ ĠSession Manager ( context ). save Token ( token ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ Ċ }