package Ġme . hg j . jet pack mv vm . demo . view model . request Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġme . hg j . jet pack mv vm . base . view model . Base ViewModel Ċ import Ġme . hg j . jet pack mv vm . demo . app . network . state Callback . List Data Ui State Ċ import Ġme . hg j . jet pack mv vm . demo . data . model . bean . A rit icle Response Ċ import Ġme . hg j . jet pack mv vm . demo . data . model . bean . Class ify Response Ċ import Ġme . hg j . jet pack mv vm . demo . data . repository . request . HttpRequest M anger Ċ import Ġme . hg j . jet pack mv vm . ext . request Ċ import Ġme . hg j . jet pack mv vm . state . Result State Ċ Ċ /** Ċ Ġ* Ġä½ľèĢħ ãĢĢ : Ġhe g ao jian Ċ Ġ* Ġ æĹ¶éĹ´ ãĢĢ : Ġ 2 0 2 0 / 2 / 2 9 Ċ Ġ* Ġæı ı è¿° ãĢĢ : Ċ Ġ*/ Ċ class ĠRequest Public Number ViewModel ( application : ĠApplication ) Ġ: ĠBase ViewModel ( application ) Ġ{ ĊĊĠĠĠ Ġvar Ġpage No Ġ= Ġ 1 ĊĊĠĠĠ Ġvar Ġtitle Data : ĠMutable LiveData < Result State < ArrayList < Class ify Response >>> Ġ= ĠMutable LiveData () ĊĊĠĠĠ Ġvar Ġpublic Data State : ĠMutable LiveData < List Data Ui State < A rit icle Response >> Ġ= ĠMutable LiveData () ĊĊĊĠĠĠ Ġfun Ġget Public Title Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest ({ ĠHttpRequest M anger . instance . getTitle Data () Ġ}, Ġtitle Data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Public Data ( is Refresh : ĠBoolean , Ġcid : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is Refresh ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage No Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrequest ({ ĠHttpRequest M anger . instance . get Public Data ( page No , Ġcid ) Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// è¯·æ±Ĥ æĪĲåĬŁ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage No ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Data Ui State Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠList Data Ui State ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Success Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Refresh Ġ= Ġis Refresh , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠisEmpty Ġ= Ġit . isEmpty (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhas More Ġ= Ġit . hasMore (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis First Empty Ġ= Ġis Refresh Ġ&& Ġit . isEmpty (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Data Ġ= Ġit . datas ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Data State . post Value ( list Data Ui State ) ĊĠĠĠĠĠĠĠ Ġ}, Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// è¯·æ±Ĥ å¤±è´¥ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Data Ui State Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠList Data Ui State ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Success Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerr Message Ġ= Ġit . error Msg , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Refresh Ġ= Ġis Refresh , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Data Ġ= Ġarray ListOf < A rit icle Response >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Data State . post Value ( list Data Ui State ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ }