package Ġcom . mg . ax ech en . wan android . block . main . home Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . widget . Swipe Refresh Layout Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġcom . ch ad . library . adapter . base . Base Quick Adapter Ċ import Ġcom . mg . ax ech en . wan android . R Ċ import Ġcom . mg . ax ech en . wan android . Wan Android Application Ċ import Ġcom . mg . ax ech en . wan android . block . collect . base . Base Collect Fragment Ċ import Ġcom . mg . ax ech en . wan android . block . details . Detail Activity Ċ import Ġcom . mg . ax ech en . wan android . block . details . WebView Activity Ċ import Ġcom . mg . ax ech en . wan android . jav abe an . Banner Bean Ċ import Ġcom . mg . ax ech en . wan android . jav abe an . Home Data Ċ import Ġcom . mg . ax ech en . wan android . jav abe an . Home List Bean Ċ import Ġcom . mg . ax ech en . wan android . jav abe an . Home ViewType Ċ import Ġcom . mg . ax ech en . wan android . utils . Share Preferences Cont ants Ċ import Ġcom . mg . ax ech en . wan android . utils . Share Utils Ċ import Ġcom . mg . ax ech en . wan android . utils . SharedPreferences Utils Ċ import Ġkotlinx . android . synt hetic . main . fragment _ home .* Ċ import Ġnetwork . schedules . Scheduler Provider Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠA xe Ch en Ġon Ġ 2 0 1 8 / 3 / 2 3 . Ċ Ġ* Ġ ä¸» é¡µ æĸĩç«ł åĪĹè¡¨ Ċ Ġ*/ Ċ class ĠHome Fragment Ġ: ĠBase Collect Fragment (), ĠHome Contract . View Ġ{ ĊĊĊĠĠĠ Ġprivate Ġvar Ġselect Id : ĠInt Ġ= Ġ 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠHome ItemList ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġdatas Ġ= Ġmutable ListOf < Home ViewType >() ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¾ªçİ¯ è½® è¯¢ çļĦæķ°æį® ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġval Ġbanner Loop Datas Ġ= Ġmutable ListOf < Banner Bean >() ĊĊĠĠĠ Ġprivate Ġval Ġhome Adapter : ĠHome Adapter Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠHome Adapter ( datas , Ġactivity ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġpresenter : ĠHome Presenter Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠHome Presenter ( Scheduler Provider . get Inst at n ce () !! , Ġthis , Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Home List Fail ( msg : ĠString , Ġis Refresh : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhome Adapter . load More Complete () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Home List Success ( home List Bean : ĠHome List Bean , Ġis Refresh : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( home List Bean . datas Ġ!= Ġnull ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Refresh ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatas ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit Ġ-> Ġit . item Type Ġ== ĠHome ViewType . VIEW _ TYPE _ ITEM Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġit Ġ-> Ġdatas . remove ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġhome datas : ĠList < Home Data > Ġ= Ġhome List Bean . datas !! ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġs Refresh . is Refresh ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhome datas . map To ( datas ) Ġ{ Ġit Ġ-> ĠHome ViewType ( Home ViewType . VIEW _ TYPE _ ITEM , Ġit ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhome Adapter . load More Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhome Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater ?, Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater ?. inflate ( R . layout . fragment _ home , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Refresh () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġ å°ģè£ħ æĪĲ èĩª å®ļ æİ§ä»¶ ĊĠĠĠĠĠĠĠ Ġ// Ġ ä¸»é¢ĺ æ¡Ĩæŀ¶ éľĢè¦ģ å°ģè£ħ ĊĠĠĠĠĠĠĠ Ġvar Ġcolor : ĠInt Ġ= ĠW an Android Application . instance !!. get Theme Color ( activity , ĠW an Android Application . instance !!. get Theme ( activity ) !! ) ĊĠĠĠĠĠĠĠ Ġs Refresh . setColor Scheme Colors ( resources . getColor ( color ), Ġresources . getColor ( color ), Ġresources . getColor ( color )) ĊĠĠĠĠĠĠĠ Ġs Refresh . setOn Refresh Listener ( Swipe Refresh Layout . On Refresh Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . get Home List ( true ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġregister Login Status Receiver () ĊĠĠĠĠĠĠĠ Ġinit Refresh () ĊĠĠĠĠĠĠĠ Ġpresenter . get Banner Data ( true ) ĊĠĠĠĠĠĠĠ Ġrv List . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( activity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġhome Adapter ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġhome Adapter . setOn ItemClickListener Ġ{ Ġadapter , Ġview , Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġhome Data : ĠHome Data Ġ= Ġhome Adapter . data . get ( position ). item Ġas ĠHome Data ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDetail Activity . l unch ( activity , Ġhome Data , Ġhome Data . collect , Ġhome Data . id ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġhome Adapter . set Pre Load Number ( 0 ) ĊĠĠĠĠĠĠĠ Ġhome Adapter . set Enable Load More ( true ) ĊĠĠĠĠĠĠĠ Ġhome Adapter . setOn Item Child ClickListener Ġ{ Ġadapter , Ġview , Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( view . id Ġ== ĠR . id . fl Like ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( SharedPreferences Utils . getInt ( Share Preferences Cont ants . USER _ ID ) Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( activity , getString ( R . string . collect _ fail _ pl s _ login ), Toast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġhom data : ĠHome Data Ġ= Ġdatas [ position ]. item Ġas ĠHome Data ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġselect Id Ġ= Ġhom data . id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( hom data . collect ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . un Collect Article ( select Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Collect Status ( hom data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove Collect Status ( hom data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . collect In Article ( select Id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif ( view . id Ġ== ĠR . id . iv More ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġhom data Ġ= Ġdatas [ position ]. item Ġas ĠHome Data ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠShare Utils . share Text ( activity , hom data . title +" Ġ"+ hom data . link , hom data . title , Ġhom data . title ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġhome Adapter . set Load More View ( Custom Load More View ()) ĊĠĠĠĠĠĠĠ Ġhome Adapter . setOn Load More Listener ( Base Quick Adapter . Request Load More Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . get Home List ( false ) ĊĠĠĠĠĠĠĠ Ġ}, Ġrv List ) ĊĠĠĠĠĠĠĠ Ġhome Adapter . banner Image C lic Listener Ġ= Ġobject Ġ: ĠHome Adapter . On Banner Image ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Image ClickListener ( bean : ĠBanner Bean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWebView Activity . l unch ( activity , Ġbean . url !! , Ġbean . title !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Collect Status ( home Data : ĠHome Data ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhome Data . collect Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġhome Adapter . notify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġremove Collect Status ( home Data : ĠHome Data ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhome Data . collect Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġhome Adapter . notify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Banner ( b anners : ĠList < Banner Bean >, Ġis Refresh : ĠBoolean ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġif Ġ( is Refresh ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdatas . clear () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbanner Loop Datas Ġ+= Ġb anners ĊĠĠĠĠĠĠĠ Ġ// Ġ åħĪ æ·»åĬł åĽ¾çīĩ è½® è¯¢ çļĦæķ°æį® ĊĠĠĠĠĠĠĠ Ġdatas . add ( Home ViewType ( Home ViewType . VIEW _ TYPE _ BAN NER _ LOOP , Ġbanner Loop Datas )) ĊĠĠĠĠĠĠĠ Ġ// Ġ çĦ¶åĲİ æ·»åĬł æİ¨èįĲ çļĦ æĸĩç«ł ĊĠĠĠĠĠĠĠ Ġdatas . add ( Home ViewType ( Home ViewType . VIEW _ TYPE _ SELECTION , Ġ" æľĢæĸ° åįļ æĸĩ ")) ĊĠĠĠĠĠĠĠ Ġhome Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ// Ġè¯·æ±Ĥ æľĢæĸ° åįļ æĸĩ ĊĠĠĠĠĠĠĠ Ġpresenter . get Home List ( is Refresh ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Banner Fail ( error Msg : ĠString , Ġis Refresh : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġhome Adapter . load More Complete () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġinit Refresh () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġchange Theme Refresh () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . change Theme Refresh () ĊĠĠĠĠĠĠĠ Ġhome Adapter . notify DataSet Changed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlogin Success () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . get Home List ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcollect Status Change ( id : ĠInt , Ġis Collect : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . collect Status Change ( id , Ġis Collect ) ĊĠĠĠĠĠĠĠ Ġdatas ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit Ġ-> Ġit . item Type Ġ== ĠHome ViewType . VIEW _ TYPE _ ITEM Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit Ġ-> Ġit . item Ġas ĠHome Data Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġit . id Ġ== Ġid Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġit . collect Ġ= Ġis Collect Ġ} ĊĠĠĠĠĠĠĠ Ġhome Adapter . notify DataSet Changed () ĊĠĠĠ Ġ} Ċ }