package Ġcom . ab hat . jet pack compose playground Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġkotlinx . coroutines .* Ċ import Ġorg . js oup . J soup Ċ import Ġjava . util .* Ċ Ċ class ĠG roc ery ViewModel : ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġgro c ery LiveData Ġ= ĠMutable LiveData < List < G roc ery >>( listOf ()) ĊĠĠĠ Ġfun Ġgro c ery State () Ġ= Ġgro c ery LiveData Ġas ĠLive Data < List < G roc ery >> ĊĊĠĠĠ Ġprivate Ġval Ġio Scope Ġ= ĠCor outine Scope ( Dispatch ers . IO Ġ+ ĠSuper visor Job ()) ĊĠĠĠ Ġprivate Ġval Ġmain Scope Ġ= ĠCor outine Scope ( Dispatch ers . Main Ġ+ ĠSuper visor Job ()) ĊĊĠĠĠ Ġfun Ġfetch G roc ery Prices () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgro c ery LiveData . value Ġ= Ġgro c ery Prices () Ġ?: ĠlistOf () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġgro c ery Prices (): ĠList < G roc ery >? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwith Context ( io Scope . coroutine Context ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġurl Ġ= Ġ" http :// hop com s . k arn ata ka . gov . in / Crop Rates . aspx " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgro c ery List Ġ= ĠArrayList < G roc ery >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdoc Ġ= ĠJ soup . connect ( url ). get () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnames List Ġ= Ġdoc . select (" td . Machine Name ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġregion ale Names List Ġ= Ġdoc . select (" td . type ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprices List Ġ= Ġdoc . select (" td . status ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġnames List . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( prices List [ i ]. text (). isNotEmpty () Ġ&& Ġprices List [ i ]. text () Ġ!= Ġ" 0 . 0 0 ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgro c ery List . add ( G roc ery ( name Ġ= Ġnames List [ i ]. text (), Ġprice Ġ= Ġprices List [ i ]. text ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgro c ery List ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace (); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }