package Ġcom . alf an se . feed my city . ui . don or Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . alf an se . feed my city . data . Resource Ċ import Ġcom . alf an se . feed my city . data . models . Update Don or Request Ċ import Ġcom . alf an se . feed my city . data . repository . Feed App Repository Ċ import Ġcom . alf an se . feed my city . utils . User Ċ import Ġkotlinx . coroutines . Coroutine ExceptionHandler Ċ import Ġkotlinx . coroutines . launch Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠUpdate Don or ViewModel Ċ @ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġrepository : ĠFeed App Repository Ċ ) Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġval Ġupdate Don or LiveData Ġ= ĠMutable LiveData < Resource < Any >>() ĊĊĠĠĠ Ġprivate Ġval Ġhandler Ġ= ĠCor outine ExceptionHandler Ġ{ Ġ_, Ġthrowable Ġ-> ĊĠĠĠĠĠĠĠ Ġupdate Don or LiveData . value Ġ= ĠResource . error ( throwable . message , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Don or Details ( ĊĠĠĠĠĠĠĠ ĠuserId : ĠString , ĊĠĠĠĠĠĠĠ Ġdon ate Items : ĠString , ĊĠĠĠĠĠĠĠ Ġstatus : ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġupdate Don or LiveData . value Ġ= ĠResource . loading ( null ) ĊĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch ( handler ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġupdate Don or Request Ġ= ĠUpdate Don or Request ( userId , Ġdon ate Items , Ġstatus ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . update Don or ( update Don or Request ). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUser . don ate Items Ġ= Ġdon ate Items ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUser . don or Visibility Ġ= Ġstatus Ġ== Ġ" 1 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Don or LiveData . value Ġ= ĠResource . success ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }