package Ġcom . walk ud . app . mvp . presenter Ċ Ċ import Ġcom . trello . rx lifecycle 2 . android . Fragment Event Ċ import Ġcom . walk ud . app . common . exception . Exception Handle Ċ import Ġcom . walk ud . app . mvp . base . Base Presenter Ċ import Ġcom . walk ud . app . mvp . model . Main Model Ċ import Ġcom . walk ud . app . mvp . model . bean . Home Bean Ċ import Ġcom . walk ud . app . mvp . ui . fragment . Follow Fragment Ċ import Ġcom . walk ud . app . rx . Rx Subscribe Ċ import Ġcom . walk ud . app . rx . transformer . Empty Transformer Ċ import Ġcom . walk ud . app . rx . transformer . Net Transformer Ċ import Ġio . reactivex . Observable Transformer Ċ Ċ /** Ċ Ġ* Ġ åıĳçİ° - åħ³æ³¨ Presenter Ċ Ġ* ĠCreated Ġby ĠZ h uli ya Ġon Ġ 2 0 1 8 / 1 1 / 2 9 Ċ Ġ*/ Ċ class ĠFollow Presenter Ġ: ĠBase Presenter < Follow Fragment , ĠMain Model >() Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġissue : ĠHome Bean . Issue ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġnext Page Url : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæĺ¯åĲ¦ ä¸º é¦ĸé¡µ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġis First Page () Ġ= Ġ( issue Ġ== Ġnull ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ Ġèİ·åıĸ åħ³æ³¨ æķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġquery Follow List () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġobservable Ġ= Ġif Ġ( next Page Url Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodel . get Follow Info () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodel . get Follow Issue Data ( next Page Url !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġtransformer : ĠObservable Transformer < Home Bean . Issue , ĠHome Bean . Issue > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is First Page ()) Ġview . get Multiple Status View Transformer () Ġelse ĠEmpty Transformer () ĊĊĠĠĠĠĠĠĠ Ġobservable Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġresult Ġ-> Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// å¦Ĥæŀľ åĩºçİ° è¿ĶåĽŀ çļĦæķ°æį® ç±»åŀĭ ä¸į åĮ¹éħį ï¼Į åı¯ä»¥ åıĸæ¶Ī æ³¨éĩĬ , ä¹Łåı¯ä»¥ å°ģè£ħ ä¸º äºĭåĬ¡ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// çĶ±äºİ æİ¥åı£ ä¸įèĥ½ ä¿Ŀè¯ģ è¿ĶåĽŀ çļĦ ç±»åŀĭ ï¼Į æīĢä»¥ åľ¨ è¿ĻéĩĮ å¯¹ æºĲ æķ°æį® è¿Ľè¡Į å¤ĦçĲĨ ï¼Į å½ĵçĦ¶ ï¼Į ä¹Łåı¯ä»¥ å°Ĩ è¯¥ ä»£çłģ æĶ¾åľ¨ Model ä¸Ń è¿Ľè¡Į å¤ĦçĲĨ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġiterator Ġ= Ġresult . item List . iterator () Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( iterator . hasNext ()) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( iterator . next (). type Ġ!= Ġ" video Collection With Brief ") Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġiterator . remove () Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObservable . just ( result ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( Net Transformer ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( transformer ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind Fragment Until Event ( Fragment Event . DESTROY )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( object Ġ: ĠRx Subscribe < Home Bean . Issue >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcall ( result : ĠHome Bean . Issue ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( issue Ġ== Ġnull ) Ġ{// é¦ĸé¡µ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġissue Ġ= Ġresult ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{// åĬłè½½ æĽ´å¤ļ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġissue !!. item List . addAll ( result . item List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext Page Url Ġ= Ġresult . next Page Url ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . update List Ui ( issue !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( e : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . onError ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . show Toast ( Exception Handle . handle Exception Msg ( e )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ Ċ }