package Ġcom . player th ong . android news . view model Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . player th ong . android news . model . News Model Ċ import Ġcom . player th ong . android news . repository . News Repository Ċ import Ġcom . player th ong . android news . utils . ViewState Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠNews ViewModel Ġ: ĠBase ViewModel () Ġ{ ĊĠĠĠ Ġval Ġrepository : News Repository = News Repository () ĊĊĠĠĠ Ġval Ġlist News Ġ= ĠMutable LiveData < List < News Model >>() ĊĊĠĠĠ Ġfun ĠgetList News ( page : Int ){ ĊĠĠĠĠĠĠĠ Ġview State . post Value ( ViewState . LOADING ) ĊĠĠĠĠĠĠĠ Ġio Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . get News ( page ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( this . is Success ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult : ĠList < News Model >? Ġ= Ġthis . data ?. articles ; ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist News . post Value ( result ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview State . post Value ( ViewState . NONE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// TODO Ġimplement Ġprocess Ġfail Ġcase ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}; ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ