package Ġio . ak 1 . ny times . model Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġak sh ay Ġon Ġ 1 4 , November , 2 0 2 0 Ċ Ġ* Ġak sh ay 2 2 1 1 @ github . io Ċ Ġ*/ Ċ data Ġclass ĠLive Data Collection < T >( ĊĠĠĠ Ġ// Ġthe ĠLive Data Ġof Ġpage d Ġlists Ġfor Ġthe ĠUI Ġto Ġobserve ĊĠĠĠ Ġval Ġpage d List : ĠLive Data < List < T >>, ĊĠĠĠ Ġ// Ġrepresents Ġthe Ġnetwork Ġrequest Ġstatus Ġto Ġshow Ġto Ġthe Ġuser ĊĠĠĠ Ġval Ġnetwork State : ĠLive Data < Network State >, ĊĠĠĠ Ġval Ġrefresh State : ĠLive Data < Network State >, ĊĠĠĠ Ġval Ġrefresh : Ġ() Ġ-> ĠUnit Ċ ) Ċ Ċ enum Ġclass ĠState Ġ{ ĊĠĠĠ ĠRUN NING , ĊĠĠĠ ĠSUCCESS , ĊĠĠĠ ĠFAILED Ċ } Ċ Ċ data Ġclass ĠNetwork State Ġprivate Ġconstructor ( ĊĠĠĠ Ġval Ġstate : ĠState , ĊĠĠĠ Ġval Ġmsg : ĠString ? Ġ= Ġnull Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠLO ADED Ġ= ĠNetwork State ( State . SUCCESS ) ĊĠĠĠĠĠĠĠ Ġval ĠLO ADING Ġ= ĠNetwork State ( State . RUNNING ) ĊĠĠĠĠĠĠĠ Ġfun Ġerror ( msg : ĠString ?) Ġ= ĠNetwork State ( State . FAILED , Ġmsg ) ĊĠĠĠ Ġ} Ċ }