package Ġcom . goc ash back . module _ search . fragment Ċ Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . text . TextUtils Ċ import Ġcom . alibaba . android . ar outer . facade . annotation . Route Ċ import Ġcom . ch ad . library . adapter . base . Base Quick Adapter Ċ import Ġcom . goc ash back . lib _ common . FRAGMENT _ SEARCH _ STORE Ċ import Ġcom . goc ash back . lib _ common . base . G cb Base Fragment Ċ import Ġcom . goc ash back . lib _ common . network . Base Observer Ċ import Ġcom . goc ash back . lib _ common . network . Response Transformer Ċ import Ġcom . goc ash back . lib _ common . network . api . Search Api Ċ import Ġcom . goc ash back . lib _ common . network . create Service Ċ import Ġcom . goc ash back . lib _ common . network . model . store . Store List If Model Ċ import Ġcom . goc ash back . lib _ common . start Store Detail Activity Ċ import Ġcom . goc ash back . module _ search . R Ċ import Ġcom . goc ash back . module _ search . Search Keyword Event Ċ import Ġcom . goc ash back . module _ search . adapter . Search Store Adapter Ċ import Ġkotlinx . android . synt hetic . main . fragment _ search _ store .* Ċ import Ġorg . green robot . event bus . Subscribe Ċ Ċ /** Ċ Ġ* Ġæ Ĳ ľç´¢ ç»ĵæŀľ åķĨ å®¶ é¡µ Ċ Ġ* Ċ Ġ* Ġ@ Author Ġ 5 5 HA IT AO Ċ Ġ* Ġ@ Date Ġ 2 0 1 9 - 0 5 - 2 1 Ġ 1 9 : 3 6 Ċ Ġ*/ Ċ @ Route ( path Ġ= ĠFR AG MENT _ SEARCH _ STORE ) Ċ class ĠSearch Store Fragment Ġ: ĠG cb Base Fragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsearch Store Adapter : ĠSearch Store Adapter ĊĠĠĠ Ġprivate Ġvar Ġkey Word Ġ= Ġ"" ĊĊĠĠĠ Ġoverride Ġfun Ġset Layout Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . fragment _ search _ store ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Vars () Ġ{ ĊĠĠĠĠĠĠĠ Ġregister EventBus () ĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġry cv _ search _ store . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( m Activity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Store Adapter Ġ= ĠSearch Store Adapter ( m Activity , ĠlistOf ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġsearch Store Adapter ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Event () Ġ{ ĊĠĠĠĠĠĠĠ Ġcontent _ view . setOn Refresh Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Search Data () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsearch Store Adapter . setOn ItemClickListener Ġ{ Ġadapter , Ġview , Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Store Detail Activity ( m Activity , Ġsearch Store Adapter . data [ position ]. flag ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsearch Store Adapter . setOn Load More Listener ( object Ġ: ĠBase Quick Adapter . Request Load More Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonLoad More Requested () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpage ++ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Search Data () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}, Ġry cv _ search _ store ) ĊĠĠĠĠĠĠĠ Ġm sv . setOn Retry ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Search Data () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Search Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate Service ( Search Api :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Search Store ( key Word , Ġpage , Ġper Page ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( Response Transformer . handle Result ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( bind To Lifecycle ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( object Ġ: ĠBase Observer < Store List If Model >( m Activity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( t : ĠStore List If Model ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm sv . show Content () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent _ view . is Refresh ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġt . store ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( page Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Store Adapter . set New Data ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Store Adapter . addData ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( page Ġ+ Ġ 1 Ġ< Ġt . page _ count ) Ġsearch Store Adapter . load More Complete () Ġelse Ġsearch Store Adapter . load More End ( true ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( search Store Adapter . data . isNull OrEmpty ()) Ġm sv . show Empty ( resources . getString ( R . string . ms v _ no _ result )) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Fail ( code : ĠInt , Ġmsg : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Fail ( code , Ġmsg ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent _ view . is Refresh ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( page Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm sv . show Error () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Subscribe ĊĠĠĠ Ġfun Ġon Search Keyword Event ( event : ĠSearch Keyword Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! TextUtils . equals ( key Word , Ġevent . key Word )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Word Ġ= Ġevent . key Word ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Search Data () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }