package Ġaf kt . app . ui . fragment Ċ Ċ import Ġaf kt . app . R Ċ import Ġaf kt . app . base . Base Fragment Ċ import Ġaf kt . app . base . Constants Ċ import Ġaf kt . app . module . Action Enum Ċ import Ġaf kt . app . module . TypeEnum Ċ import Ġaf kt . app . module . event .* Ċ import Ġaf kt . app . ui . adapter . App ListAdapter Ċ import Ġaf kt . app . utils . App List Utils Ċ import Ġaf kt . app . utils . App Search Utils Ċ import Ġaf kt . app . utils . EventBus Utils Ċ import Ġaf kt . app . widget . Base Refresh View Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . TextView Ċ import Ġbutter knife . BindView Ċ import Ġbutter knife . B utter Kn ife Ċ import Ġcom . sc wang . smart . refresh . layout . listener . On Refresh Listener Ċ import Ġcom . tt . wh or l view library . Wh or l View Ċ import Ġdev . utils . app . ListView Utils Ċ import Ġdev . utils . app . Resource Utils Ċ import Ġdev . utils . app . TextView Utils Ċ import Ġdev . utils . app . View Utils Ċ import Ġdev . utils . common . Html Utils Ċ import Ġdev . widget . assist . View Ass ist Ċ import Ġdev . widget . function . State Layout Ċ import Ġorg . green robot . event bus . Subscribe Ċ import Ġorg . green robot . event bus . Thread Mode Ċ Ċ class ĠApp List Fragment Ġ: ĠBase Fragment () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġget ( type : ĠType Enum ): ĠBase Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠApp List Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠBundle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbundle . put Int ( Constants . Key . KEY _ VALUE , Ġtype . tag ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . set Arguments ( bundle ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ= ĠView Ġ= ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġ@ BindView ( R . id . vid _ fa _ refresh ) ĊĠĠĠ Ġvar Ġbase Refresh View : ĠBase Refresh View ? Ġ= Ġnull ĊĊĠĠĠ Ġ@ Jvm Field ĊĠĠĠ Ġ@ BindView ( R . id . vid _ fa _ state ) ĊĠĠĠ Ġvar Ġstate Layout : ĠState Layout ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġwh or l View : ĠWh or l View ? Ġ= Ġnull ĊĊĠĠĠ Ġ// Ġ= ĠObject Ġ= ĊĊĠĠĠ Ġvar Ġtype : ĠType Enum ? Ġ= Ġnull ĊĠĠĠ Ġvar Ġsearch Content : ĠString Ġ= Ġ"" ĊĊĠĠĠ Ġoverride Ġfun Ġlayout Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . fragment _ app ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlayout Init ( view : ĠView ?, Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠB utter Kn ife . bind ( this , Ġview !! ) ĊĠĠĠĠĠĠĠ Ġvar Ġvalue Ġ= Ġarguments ?. getInt ( Constants . Key . KEY _ VALUE ) ĊĠĠĠĠĠĠĠ Ġtype Ġ= Ġvalue ?. let Ġ{ ĠType Enum . get ( it ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġwh or l View Ġ= ĠView Utils . findViewById ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate Layout !!. getView ( View Ass ist . TYPE _ ING ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . vid _ s li _ load _ view ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ// Ġè®¾ç½® çĽĳåĲ¬ ĊĠĠĠĠĠĠĠ Ġstate Layout !!. set Listener ( object Ġ: ĠState Layout . Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Remove ( layout : ĠState Layout , Ġtype : ĠInt , Ġremove View : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon NotFound ( layout : ĠState Layout , Ġtype : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( type Ġ== ĠView Ass ist . TYPE _ SUCCESS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠView Utils . reverse Visibility s ( true , Ġbase Refresh View , Ġstate Layout ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwh or l View ?. stop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Refresh View ?. finish Refresh () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonChange ( layout : ĠState Layout , Ġtype : ĠInt , Ġold Type : ĠInt , Ġview : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( View Utils . reverse Visibility s ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ== ĠView Ass ist . TYPE _ SUCCESS , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Refresh View , Ġstate Layout ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwh or l View ?. stop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Refresh View ?. finish Refresh () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( type Ġ== ĠView Ass ist . TYPE _ ING ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! wh or l View !!. is C ir cl ing ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwh or l View ?. start () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwh or l View ?. stop () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ æĹł æķ°æį® å¤ĦçĲĨ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( type Ġ== ĠView Ass ist . TYPE _ EMPTY _ DATA ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Refresh View ?. finish Refresh () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġtips Ġ= Ġif Ġ( search Content . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResource Utils . getString ( R . string . str _ search _ no result _ tips _ 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠResource Utils . getString ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . str _ search _ no result _ tips , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHtml Utils . add Html Color ( search Content , Ġ"# 3 5 9 AFF ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTextView Utils . set Html Text ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . findViewById < TextView >( R . id . vid _ sl nd _ tips _ tv ), Ġtips ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġstate Layout !!. show Ing () ĊĊĠĠĠĠĠĠĠ Ġ// Ġè®¾ç½® åĪ·æĸ° äºĭä»¶ ĊĠĠĠĠĠĠĠ Ġbase Refresh View ?. setOn Refresh Listener ( On Refresh Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype ?. let Ġ{ ĠApp List Utils . getApp Lists ( it , Ġtrue ) Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġ============ ĊĠĠĠ Ġ// Ġ= Ġ äºĭä»¶ çĽ¸åħ³ Ġ= ĊĠĠĠ Ġ// Ġ============ ĊĊĠĠĠ Ġ@ Subscribe ( thread Mode Ġ= ĠThread Mode . BACKGROUND , Ġsticky Ġ= Ġtrue ) ĊĠĠĠ Ġfun Ġon Event ( event : ĠFragment Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġevent . type ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġtype ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Content Ġ= Ġ"" Ġ// Ġ åĪĩæį¢ ĠFragment Ġ éĩį ç½® æĲľç´¢ åĨħå®¹ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp List Utils . getApp Lists ( it ) Ġ// Ġ åĬłè½½ åĪĹè¡¨ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEvent Bus Utils . remove Sticky Event ( Fragment Event :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Subscribe ( thread Mode Ġ= ĠThread Mode . MAIN ) ĊĠĠĠ Ġfun Ġon Event ( event : ĠApp List Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġevent . type ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġtype ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġlists Ġ= Ġif Ġ( search Content . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġevent . lists ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp Search Utils . filter App List ( event . lists , Ġsearch Content ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( lists . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Layout ?. show Empty Data () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Refresh View ?. setAdapter ( App ListAdapter ( lists )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstate Layout ?. show Success () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Subscribe ( thread Mode Ġ= ĠThread Mode . MAIN ) ĊĠĠĠ Ġfun Ġon Event ( event : ĠSearch Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġevent . type ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( event . action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAction Enum . COLL AP SE Ġ-> Ġ{ Ġ// Ġæ Ĳ ľç´¢ åĲĪå¹¶ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġtype ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( search Content . isNotEmpty ()) Ġ{ Ġ// Ġ è¾ĵåħ¥ åĨħå®¹ æīį åĪ·æĸ° åĪĹè¡¨ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Content Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp List Utils . getApp Lists ( it ) Ġ// Ġ åĬłè½½ åĪĹè¡¨ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAction Enum . EXPAND Ġ-> Ġ{ Ġ// Ġæ Ĳ ľç´¢ å±ķ å¼Ģ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAction Enum . CONTENT Ġ-> Ġ{ Ġ// Ġæ Ĳ ľç´¢ è¾ĵåħ¥ åĨħå®¹ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġtype ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch Content Ġ= Ġevent . content . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp List Utils . getApp Lists ( it ) Ġ// Ġ åĬłè½½ åĪĹè¡¨ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Subscribe ( thread Mode Ġ= ĠThread Mode . MAIN ) ĊĠĠĠ Ġfun Ġon Event ( event : ĠRefresh Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġevent . type ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġtype ) Ġbase Refresh View ?. smart Refresh Layout ?. auto Refresh () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Subscribe ( thread Mode Ġ= ĠThread Mode . MAIN ) ĊĠĠĠ Ġfun Ġon Event ( event : ĠTop Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġevent . type ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== Ġtype ) ĠListView Utils . smooth Scroll To Top ( base Refresh View ?. re cyclerView ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ListView Utils . scrollTo Top ( base Refresh View ?. re cyclerView ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }