package Ġcom . hu ot u . android . m if ang . fragment ĊĊ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . support . v 4 . content . Context Compat Ċ 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 Ġcom . ch ad . library . adapter . base . Base Quick Adapter Ċ import Ġcom . hu ot u . android . m if ang . R Ċ import Ġcom . hu ot u . android . m if ang . activity . Order Activity Ċ import Ġcom . hu ot u . android . m if ang . adapter . Order Adapter Ċ import Ġcom . hu ot u . android . m if ang . base . Base Fragment Ċ import Ġcom . hu ot u . android . m if ang . bean .* Ċ import Ġcom . hu ot u . android . m if ang . mvp . contract . Order Contract Ċ import Ġcom . hu ot u . android . m if ang . mvp . presenter . Order Presenter Ċ import Ġcom . hu ot u . android . m if ang . widget . RecyclerView Divider Ċ import Ġkotlinx . android . synt hetic . main . fragment _ order .* Ċ Ċ const Ġval ĠARG _ YEAR Ġ= Ġ" year " Ċ const Ġval ĠARG _ MONTH Ġ= Ġ" month " Ċ const Ġval ĠARG _ DAY Ġ= Ġ" day " Ċ const Ġval ĠARG _ ORDER _ SOURCE _ TYPE =" order _ source _ type " Ċ /** Ċ Ġ* ĠA Ġsimple Ġ[ Fragment ] Ġsubclass . Ċ Ġ* ĠUse Ġthe Ġ[ Order Fragment . newInstance ] Ġfactory Ġmethod Ġto Ċ Ġ* Ġcreate Ġan Ġinstance Ġof Ġthis Ġfragment . Ċ Ġ* Ċ Ġ*/ Ċ class ĠOrder Fragment Ġ: ĠBase Fragment < Order Contract . Presenter >() ĊĠĠĠĠĠĠĠ Ġ, Order Activity . Order Filter Listener ĊĠĠĠĠĠĠĠ Ġ, Swipe Refresh Layout . On Refresh Listener ĊĠĠĠĠĠĠĠ Ġ, Order Contract . View ĊĠĠĠĠĠĠĠ Ġ, Base Quick Adapter . Request Load More Listener { ĊĊĠĠĠ Ġvar Ġorder Adapter : Order Adapter ?= null ĊĠĠĠ Ġvar Ġdata = ArrayList < Order Bean >() ĊĠĠĠ Ġvar Ġi Presenter = Order Presenter ( this ) ĊĠĠĠ Ġvar Ġpage Index = 0 ĊĠĠĠ Ġvar Ġis Show Progress = true ĊĠĠĠ Ġvar Ġyear : Int = Ġ- 1 ĊĠĠĠ Ġvar Ġmonth : Int Ġ= Ġ- 1 ĊĠĠĠ Ġvar Ġday : Int Ġ= Ġ- 1 ĊĠĠĠ Ġvar Ġsearch Time Type Ġ= Ġ 2 Ġ// æŁ¥è¯¢ ç±»åŀĭ ï¼Ī é»ĺè®¤ - 1 åħ¨éĥ¨ , 0 - æĹ¥ , 1 - åĳ¨ , 2 - æľĪ ï¼ī ĊĠĠĠ Ġvar Ġweek Num Ġ= Ġ- 1 ĊĠĠĠ Ġvar Ġorder Source Type Ġ= - 1 ĊĊĠĠĠ Ġprivate Ġvar Ġtype : ĠInt Ġ= ĠOrder Status Enum . All . id ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġarguments ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= Ġit . getInt ( ARG _ TYPE Ġ, ĠOrder Status Enum . All . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyear Ġ= Ġit . getInt ( ARG _ YEAR Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmonth Ġ= Ġit . getInt ( ARG _ MONTH ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġday Ġ= Ġit . getInt ( ARG _ DAY ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorder Source Type Ġ= Ġit . getInt ( ARG _ ORDER _ SOURCE _ TYPE Ġ, Ġ- 1 Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( Ġorder Adapter == null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorder Adapter = ĠOrder Adapter ( data ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġempty View Ġ= ĠLayoutInflater . from ( context ). inflate ( R . layout . layout _ empty , Ġnull ) ĊĠĠĠĠĠĠĠ Ġorder Adapter !!. empty View = Ġempty View ĊĠĠĠĠĠĠĠ Ġ// order Adapter !!. is Use Empty ( false ) ĊĠĠĠĠĠĠĠ Ġorder Adapter !!. setHeader And Empty ( true ) ĊĊĠĠĠĠĠĠĠ Ġorder _ refresh view . setOn Refresh Listener ( this ) ĊĠĠĠĠĠĠĠ Ġorder _ recyclerview . layout Manager = Linear LayoutManager ( context ) ĊĠĠĠĠĠĠĠ Ġorder _ recyclerview . adapter = order Adapter ĊĠĠĠĠĠĠĠ Ġorder _ recyclerview . addItem Decoration ( RecyclerView Divider ( context !! , ĠContext Compat . getColor ( context !! , ĠR . color . bg _ line Ġ) Ġ, Ġ 1 0 f Ġ)) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Refresh () Ġ{ ĊĠĠĠĠĠĠĠ Ġpage Index = 0 ĊĠĠĠĠĠĠĠ Ġis Show Progress = false ĊĠĠĠĠĠĠĠ Ġ// order Adapter !!. is Use Empty ( false ) ĊĠĠĠĠĠĠĠ Ġi Presenter . get Profit Order List ( Ġsearch Time Type Ġ, Ġtype Ġ, Ġyear Ġ, Ġmonth Ġ, Ġday Ġ, Ġweek Num Ġ, Ġ Ġorder Source Type Ġ, page Index + 1 Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonLoad More Requested () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// order Adapter !!. is Use Empty ( false ) ĊĠĠĠĠĠĠĠ Ġi Presenter . get Profit Order List ( Ġsearch Time Type Ġ, Ġtype Ġ, Ġyear Ġ, Ġmonth Ġ, Ġday Ġ, Ġweek Num Ġ, Ġ Ġorder Source Type Ġ, page Index + 1 Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfetch Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġpage Index Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġis Show Progress = true ĊĠĠĠĠĠĠĠ Ġ// order Adapter !!. is Use Empty ( false ) ĊĠĠĠĠĠĠĠ Ġi Presenter . get Profit Order List ( Ġsearch Time Type Ġ, Ġtype Ġ, Ġyear Ġ, Ġmonth Ġ, Ġday Ġ, Ġweek Num Ġ, Ġorder Source Type , Ġpage Index + 1 Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout ResourceId (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ ĠR . layout . fragment _ order ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġshow Progress ( msg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . show Progress ( msg ) ĊĠĠĠĠĠĠĠ Ġif ( order _ loading == null ) Ġreturn ĊĠĠĠĠĠĠĠ Ġif ( is Show Progress ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorder _ loading . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorder _ loading . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide Progress () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . hide Progress () ĊĠĠĠĠĠĠĠ Ġif ( order _ loading == null ) return ĊĠĠĠĠĠĠĠ Ġorder _ loading . visibility = View . GONE ĊĠĠĠĠĠĠĠ Ġis Show Progress = false ĊĠĠĠĠĠĠĠ Ġorder _ refresh view . is Refresh ing = false ĊĠĠĠĠĠĠĠ Ġ// order Adapter !!. is Use Empty ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfilter ( year : ĠInt , Ġmonth : ĠInt , Ġday : ĠInt ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġthis . year Ġ= Ġyear ĊĠĠĠĠĠĠĠ Ġthis . month Ġ= Ġmonth ĊĠĠĠĠĠĠĠ Ġthis . day Ġ= Ġday ĊĠĠĠĠĠĠĠ Ġpage Index = 0 ĊĊĠĠĠĠĠĠĠ Ġif ( Ġorder Adapter == null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorder Adapter = ĠOrder Adapter ( data ) ĊĊĠĠĠĠĠĠĠ Ġorder Adapter !!. set New Data ( data ) ĊĊĠĠĠĠĠĠĠ Ġif ( is View Prepared Ġ&& Ġis VisibleTo User ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// i Presenter . get Profit Order List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Show Progress = true ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi Presenter . get Profit Order List ( Ġsearch Time Type Ġ, Ġtype Ġ, Ġyear Ġ, Ġmonth Ġ, Ġday Ġ, Ġweek Num Ġ, Ġorder Source Type , Ġpage Index + 1 Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Profit Order List Callback ( api Result : ĠApi Result < ArrayList < Order Bean >>) Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( process Common ErrorCode ( api Result )){ return } ĊĠĠĠĠĠĠĠ Ġif ( api Result . code != ĠApi ResultCode Enum . SUCCESS . code ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast ( api Result . msg ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( api Result . data Ġ== Ġnull ) Ġreturn ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Ġ Ġapi Result . data !!. size Ġ< ĠConstants . PAGE _ SIZE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// æ²¡æľī æķ°æį® äºĨ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( page Index Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder Adapter !!. load More End ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder Adapter !!. load More End () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage Index ++ ĊĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorder Adapter !!. load More Complete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage Index ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( page Index Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorder Adapter !!. set New Data ( api Result . data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorder Adapter !!. disable Load More IfNot Full Page ( order _ recyclerview ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorder Adapter !!. addData ( api Result . data !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠUse Ġthis Ġfactory Ġmethod Ġto Ġcreate Ġa Ġnew Ġinstance Ġof ĊĠĠĠĠĠĠĠĠ Ġ* Ġthis Ġfragment Ġusing Ġthe Ġprovided Ġparameters . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġparam 1 ĠParameter Ġ 1 . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġparam 2 ĠParameter Ġ 2 . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return ĠA Ġnew Ġinstance Ġof Ġfragment ĠShop per Class 1 Fragment . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance ( type : Int , Ġyear : ĠInt Ġ, Ġmonth : ĠInt , day : ĠInt Ġ, Ġorder Source Type : Int =- 1 ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOrder Fragment (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Int ( ARG _ TYPE , Ġtype Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Int ( ARG _ YEAR , Ġyear ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Int ( ARG _ MONTH Ġ, Ġmonth ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Int ( ARG _ DAY , Ġday ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Int ( ARG _ ORDER _ SOURCE _ TYPE Ġ, Ġorder Source Type ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ