package Ġcom . yz . books . ui . activities Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . yz . books . api . Activity Api Ċ import Ġcom . yz . books . api . ApiService Ċ import Ġcom . yz . books . base . model . Base Paging Model Ċ import Ġcom . yz . books . base . view model . Error State Ċ import Ġcom . yz . books . base . view model . Loaded State Ċ import Ġcom . yz . books . base . view model . Loading State Ċ import Ġcom . yz . books . base . view model . State Ċ import Ġcom . yz . books . ui . activities . bean . Activity Detail Ċ import Ġcom . yz . books . ui . activities . bean . Activity Item Ċ import Ġcom . yz . books . ui . base . I Activities Ċ Ċ /** Ċ Ġ* Ġ@ author Ġl il in Ċ Ġ* Ġ@ time Ġon Ġ 2 0 2 0 - 0 1 - 1 2 Ġ 1 6 : 0 5 Ċ Ġ*/ Ċ class ĠActiv ities Model Ġ: ĠBase Paging Model (), ĠI Activities Ġ{ ĊĊĠĠĠ Ġclass ĠActivity List State ( val Ġlist : ĠMutable List < Activity Item > ?) Ġ: ĠState () ĊĠĠĠ Ġclass ĠActivity Detail State ( val Ġdetail : ĠActivity Detail ?) Ġ: ĠState () ĊĊĠĠĠ Ġval Ġapi Service Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠActivity Api . m Instance . get ApiService < ApiService >() ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Activities () Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest Data < Mutable List < Activity Item >> (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġloading Ġ{ Ġm Base State . value Ġ= ĠLoading State () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġloaded Ġ{ Ġm Base State . value Ġ= ĠLoaded State () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail Ġ{ Ġcode , Ġmessage Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Base State . value Ġ= ĠError State ( message , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuccess Ġ{ Ġdata , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Base State . value Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActivity List State ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi Service . getActivity List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetActivity Detail ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest Data < Activity Detail >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġloading Ġ{ Ġm Base State . value Ġ= ĠLoading State () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġloaded Ġ{ Ġm Base State . value Ġ= ĠLoaded State () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfail Ġ{ Ġcode , Ġmessage Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Base State . value Ġ= ĠError State ( message , Ġcode ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuccess Ġ{ Ġdata , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Base State . value Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Detail State ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapi Service . getActivity Detail ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbind LiveData ( state : ĠMutable LiveData < State >) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Base State Ġ= Ġstate ĊĠĠĠ Ġ} Ċ Ċ // region Ġvar / val Ċ Ċ // endregion Ċ Ċ // region Ġimplement Ġmethods Ċ Ċ // endregion Ċ Ċ // region Ġpublic Ġmethods Ċ Ċ // endregion Ċ Ċ // region Ġprivate Ġmethods Ċ Ċ // endregion Ċ }