package Ġme . sh ri kan thr avi . ind ia . covid 1 9 app . ui . state Ċ Ċ import Ġandroidx . lifecycle .* Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . launch Ċ import Ġkotlinx . coroutines . with Context Ċ import Ġme . sh ri kan thr avi . ind ia . covid 1 9 app . data . local . Resource Ċ import Ġme . sh ri kan thr avi . ind ia . covid 1 9 app . data . model . State District Wise Ċ import Ġme . sh ri kan thr avi . ind ia . covid 1 9 app . data . model . Stats Ċ import Ġme . sh ri kan thr avi . ind ia . covid 1 9 app . data . ret rofit . Custom App Repository Ċ import Ġjava . net . Unknown Host Exception ĊĊ Ċ class ĠState ViewModel ( private Ġval Ġproduct Repository : ĠCustom App Repository ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġ// Fetch Ġdistrict Ġstats ĊĠĠĠ Ġprivate Ġval Ġperform Fetch Stats Ġ= ĠMutable LiveData < Resource < State District Wise >>() ĊĠĠĠ Ġval Ġperform Fetch Stats Status : ĠLive Data < Resource < State District Wise >> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġperform Fetch Stats ĊĊĠĠĠ Ġfun Ġget Stats ( state : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġperform Fetch Stats . value Ġ= ĠResource . loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġproduct Repository . get District Stats () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġfound Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġresponse ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( i . state Ġ== Ġstate ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfound Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġperform Fetch Stats . value Ġ= ĠResource . success ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! found ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġperform Fetch Stats . value Ġ= ĠResource . error ( null , Ġmessage Ġ= Ġ" No Ġdata Ġfound ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" fetch Ġdistrict Ġstats Ġfailed Ġ${ e . message }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( e Ġis ĠUnknown Host Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġperform Fetch Stats . value Ġ= ĠResource . offline Error () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġperform Fetch Stats . value Ġ= ĠResource . error ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }