package Ġcom . android . android hil ts ample . ui Ċ Ċ import Ġandroidx . h ilt . Ass isted Ċ import Ġandroidx . h ilt . lifecycle . ViewModel Inject Ċ import Ġandroidx . lifecycle .* Ċ import Ġcom . android . android hil ts ample . model . Blog Ċ import Ġcom . android . android hil ts ample . repository . Main Repository Ċ import Ġcom . android . android hil ts ample . util . Data State Ċ import Ġkotlinx . coroutines . flow . launch In Ċ import Ġkotlinx . coroutines . flow . on Each Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠMain ViewModel Ġ@ ViewModel Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġmain Repository : ĠMain Repository , ĊĠĠĠ Ġ@ Ass isted Ġprivate Ġval Ġsaved State Handle : ĠSaved State Handle Ċ ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġ_ data State : ĠMutable LiveData < Data State < List < Blog >>> Ġ= ĠMutable LiveData () ĊĊĠĠĠ Ġval Ġdata State : ĠLive Data < Data State < List < Blog >>> ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġ_ data State ĊĊĠĠĠ Ġfun ĠsetState Event ( main State Event : ĠMain State Event ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( main State Event ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠMain State Event . Get Blog Events Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmain Repository . get Blog () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. on Each Ġ{ Ġdata State Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ data State . value Ġ= Ġdata State ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. launch In ( viewModel Scope ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠMain State Event . None Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠWho Ġca res ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ sealed Ġclass ĠMain State Event Ġ{ ĊĠĠĠ Ġobject ĠGet Blog Events Ġ: ĠMain State Event () ĊĠĠĠ Ġobject ĠNone Ġ: ĠMain State Event () Ċ }