package Ġcom . y uch en . how yo . plan . detail . view . map Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . y uch en . how yo . data . Schedule Ċ import Ġcom . y uch en . how yo . data . source . How Yo Repository Ċ import Ġcom . y uch en . how yo . network . Load Api Status Ċ Ċ class ĠMap ViewModel ( ĊĠĠĠ Ġprivate Ġval Ġhow Yo Repository : ĠHow Yo Repository , ĊĠĠĠ Ġprivate Ġval Ġargument Schedule : ĠSchedule ? Ċ ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġ// ĠSchedule Ġdata Ġfrom Ġarguments , Ġget Ġcompanion Ġlist Ġhere ĊĠĠĠ Ġprivate Ġval Ġ_ schedule Ġ= ĠMutable LiveData < Schedule >(). apply Ġ{ ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġargument Schedule ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġschedule : ĠLive Data < Schedule > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ schedule ĊĊĠĠĠ Ġprivate Ġval Ġ_ status Ġ= ĠMutable LiveData < Load Api Status >() ĊĊĠĠĠ Ġval Ġstatus : ĠLive Data < Load Api Status > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ status ĊĊĠĠĠ Ġ// ĠHandle Ġleave Ġmap ĊĠĠĠ Ġprivate Ġval Ġ_ leave Map Ġ= ĠMutable LiveData < Boolean ?> () ĊĊĠĠĠ Ġval Ġleave Map : ĠLive Data < Boolean ?> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ leave Map ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ status . value Ġ= ĠLoad Api Status . LOADING ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġleave Map () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ leave Map . value Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Leave Map () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ leave Map . value Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Loc ate Done () Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ status . value Ġ= ĠLoad Api Status . DONE ĊĠĠĠ Ġ} Ċ } Ċ