package Ġcom . ww y . android . data . repository Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . ww y . android . data . bean . Class ify Response Ċ import Ġcom . ww y . android . data . bean . base . Result Data Ċ import Ġcom . ww y . android . data . repository . datasource . Remote DataSource Ċ import Ġcom . ww y . android . util . ListModel Ċ import Ġcom . ww y . android . view . load page . Load Page Status Ċ Ċ class ĠProject Repository ( private Ġval Ġproject Remote DataSource : ĠRemote DataSource ) Ġ{ ĊĠĠĠ Ġsuspend Ġfun Ġget Project Class ify ( list Model : ĠMutable LiveData < ListModel < Class ify Response >> ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġload Page Status Ġ= ĠMutable LiveData < Load Page Status >() ĊĠĠĠĠĠĠĠ Ġload Page Status . post Value ( Load Page Status . Loading ) ĊĠĠĠĠĠĠĠ Ġlist Model ?. post Value ( ListModel ( load Page Status Ġ= Ġload Page Status )) ĊĠĠĠĠĠĠĠ Ġval Ġproject Class ify Ġ= Ġproject Remote DataSource . getProject Class ify () ĊĠĠĠĠĠĠĠ Ġif Ġ( project Class ify Ġis ĠResult Data . Success ) Ġ{// æĪĲåĬŁ æķ°æį® å¤ĦçĲĨ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( project Class ify . data . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload Page Status . post Value ( Load Page Status . Empty ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlist Model ?. post Value ( ListModel ( load Page Status Ġ= Ġload Page Status )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Model ?. post Value ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠList Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Loading Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Success Ġ= Ġproject Class ify . data ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( project Class ify Ġis ĠResult Data . Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload Page Status . post Value ( Load Page Status . Fail ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Model ?. post Value ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠList Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Loading Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Error Ġ= Ġproject Class ify . exception . message , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload Page Status Ġ= Ġload Page Status ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ