package Ġcom . wj x . android . wan android mv vm . ui . todo . repository Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . wj x . android . wan android mv vm . base . observer . Base Observer Ċ import Ġcom . wj x . android . wan android mv vm . network . response . Base Response Ċ import Ġcom . wj x . android . wan android mv vm . network . response . Empty Response Ċ import Ġcom . wj x . android . wan android mv vm . base . repository . Api Repository Ċ import Ġcom . wj x . android . wan android mv vm . common . state . State Ċ import Ġcom . wj x . android . wan android mv vm . ui . todo . data . Todo Page Response Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ Ċ /** Ċ Ġ* ĠCreated Ġwith ĠAndroid ĠStudio . Ċ Ġ* ĠDescription : Ċ Ġ* Ġ@ author : ĠWang jian x ian Ċ Ġ* Ġ@ date : Ġ 2 0 2 0 / 0 3 / 0 4 Ċ Ġ* ĠTime : Ġ 1 5 : 2 0 Ċ Ġ*/ Ċ class ĠTodo Repository ( var Ġload State : ĠMutable LiveData < State >) Ġ: ĠApi Repository () Ġ{ ĊĊĠĠĠ Ġfun Ġload Todo List ( pageNum : ĠInt , Ġlive Data : ĠMutable LiveData < Base Response < Todo Page Response >>) Ġ{ ĊĠĠĠĠĠĠĠ Ġapi Service . load Todo Data ( pageNum ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBase Observer ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlive Data , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload State , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġadd Todo ( ĊĠĠĠĠĠĠĠ Ġtitle : ĠString , Ġcontent : ĠString , Ġdate : ĠString , Ġtype : ĠInt , Ġpriority : ĠInt , ĊĠĠĠĠĠĠĠ Ġlive Data : ĠMutable LiveData < Base Response < Empty Response >> ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġapi Service . add Todo ( title , Ġcontent , Ġdate , Ġtype , Ġpriority ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBase Observer ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlive Data , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload State , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfinish Todo ( id : ĠInt , Ġstatus : ĠInt , Ġlive Data : ĠMutable LiveData < Base Response < Empty Response >>) Ġ{ ĊĠĠĠĠĠĠĠ Ġapi Service . finish Todo ( id , Ġstatus ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBase Observer ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlive Data , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload State , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Todo ( ĊĠĠĠĠĠĠĠ Ġid : ĠInt ?, Ġtitle : ĠString , Ġcontent : ĠString , Ġdate : ĠString , Ġtype : ĠInt , Ġpriority : ĠInt , ĊĠĠĠĠĠĠĠ Ġlive Data : ĠMutable LiveData < Base Response < Empty Response >> ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġapi Service . update Todo ( id , Ġtitle , Ġcontent , Ġdate , Ġtype , Ġpriority ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBase Observer ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlive Data , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload State , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete Todo ( id : ĠInt , Ġlive Data : ĠMutable LiveData < Base Response < Empty Response >>) Ġ{ ĊĠĠĠĠĠĠĠ Ġapi Service . delete Todo ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBase Observer ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlive Data , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload State , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }