package Ġcom . h azz . kotlin mvp . ui . fragment Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . support . v 7 . widget . RecyclerView Ċ import Ġcom . h azz . kotlin mvp . R Ċ import Ġcom . h azz . kotlin mvp . base . Base Fragment Ċ import Ġcom . h azz . kotlin mvp . mvp . contract . Follow Contract Ċ import Ġcom . h azz . kotlin mvp . mvp . model . bean . Home Bean Ċ import Ġcom . h azz . kotlin mvp . mvp . presenter . Follow Presenter Ċ import Ġcom . h azz . kotlin mvp . net . exception . Error Status Ċ import Ġcom . h azz . kotlin mvp . show Toast Ċ import Ġcom . h azz . kotlin mvp . ui . adapter . Follow Adapter Ċ import Ġkotlinx . android . synt hetic . main . layout _ recyclerview .* ĊĊ Ċ class ĠFollow Fragment Ġ: ĠBase Fragment (), ĠFollow Contract . View Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġm Title : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġitem List Ġ= ĠArrayList < Home Bean . Issue . Item >() ĊĊĠĠĠ Ġprivate Ġval Ġm Presenter Ġby Ġlazy Ġ{ ĠFollow Presenter () Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġm Follow Adapter Ġby Ġlazy Ġ{ ĠFollow Adapter ( activity , item List ) Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġæĺ¯åĲ¦ åĬłè½½ æĽ´å¤ļ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġvar Ġloading More Ġ= Ġfalse ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġm Presenter . attach View ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠgetInstance ( title : ĠString ): ĠFollow Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠFollow Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . arguments Ġ= Ġbundle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . m Title Ġ= Ġtitle ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Id (): ĠInt Ġ= ĠR . layout . layout _ recyclerview ĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġm RecyclerView . layout Manager Ġ= ĠLinearLayoutManager ( activity ) ĊĠĠĠĠĠĠĠ Ġm RecyclerView . adapter Ġ= Ġm Follow Adapter ĊĠĠĠĠĠĠĠ Ġ// å®ŀçİ° èĩªåĬ¨ åĬłè½½ ĊĠĠĠĠĠĠĠ Ġm RecyclerView . add On Scroll Listener ( object Ġ: ĠRecyclerView . On Scroll Listener () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Scroll StateChanged ( re cyclerView : ĠRecyclerView ?, ĠnewState : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Scroll StateChanged ( re cyclerView , ĠnewState ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Count Ġ= Ġm RecyclerView . layout Manager . item Count ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlast Visible Item Ġ= Ġ( m RecyclerView . layout Manager Ġas ĠLinearLayoutManager ). find Last Visible Item Position () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! loading More Ġ&& Ġlast Visible Item Ġ== Ġ( item Count Ġ- Ġ 1 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġloading More Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Presenter . load More Data () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġm Layout Status View Ġ= Ġmultiple Status View ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlazy Load () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Presenter . request Follow List () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġshow Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġmultiple Status View . show Loading () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdismiss Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġmultiple Status View . show Content () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Follow Info ( issue : ĠHome Bean . Issue ) Ġ{ ĊĠĠĠĠĠĠĠ Ġloading More Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġitem List Ġ= Ġissue . item List ĊĠĠĠĠĠĠĠ Ġm Follow Adapter . addData ( item List ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ æĺ¾ç¤º éĶĻè¯¯ ä¿¡æģ¯ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġshow Error ( error Msg : ĠString , ĠerrorCode : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Toast ( error Msg ) ĊĠĠĠĠĠĠĠ Ġif Ġ( errorCode Ġ== ĠError Status . NETWORK _ ERROR ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmultiple Status View . show No Network () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmultiple Status View . show Error () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġm Presenter . detach View () ĊĠĠĠ Ġ} Ċ }