package Ġby . bs uir . luck ym ush room . app . view models Ċ Ċ import Ġandroid . arch . lifecycle . LiveData Ċ import Ġandroid . arch . lifecycle . Mutable LiveData Ċ import Ġandroid . arch . lifecycle . ViewModel Ċ import Ġby . bs uir . luck ym ush room . app . App Ċ import Ġby . bs uir . luck ym ush room . app . dto . recognition Requests . Recognition Request Ċ import Ġkotlinx . coroutines .* Ċ Ċ class ĠHistory ViewModel Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġprivate Ġval ĠviewModel Job Ġ= ĠSuper visor Job () ĊĠĠĠ Ġprivate Ġval Ġui Scope Ġ= ĠCor outine Scope ( Dispatch ers . Main Ġ+ ĠviewModel Job ) ĊĠĠĠ Ġprivate Ġval Ġrecognition Requests Ġ= ĊĠĠĠĠĠĠĠ ĠMutable LiveData < Array < Recognition Request >>() ĊĊĠĠĠ Ġfun Ġget Recognition Requests (): ĠLive Data < Array < Recognition Request >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrecognition Requests ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Cle ared () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Cle ared () ĊĠĠĠĠĠĠĠ ĠviewModel Job . cancel () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġlaunch Fetch Data ( app Model : ĠApp ViewModel ) Ġ{ ĊĠĠĠĠĠĠĠ Ġui Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Model . setIs Loading ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfetch Data () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Model . setIs Loading ( false ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġfetch Data () Ġ= Ġwith Context ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApp . cookie ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp . get Recognition Request Service . get Recognition Requests ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. await () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrecognition Requests . post Value ( response . body ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ex : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }