package Ġcom . github . typ 0 5 2 0 . code e . ui . fragment Ċ Ċ import Ġandroid . support . v 7 . widget . Default Item Animator Ċ import Ġandroid . support . v 7 . widget . Divider Item Decoration Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . support . v 7 . widget . Search View Ċ import Ġandroid . text . TextUtils Ċ import Ġcom . github . typ 0 5 2 0 . code e . R Ċ import Ġcom . github . typ 0 5 2 0 . code e . base . Base M vp Fragment Ċ import Ġcom . github . typ 0 5 2 0 . code e . loads ir . Error Callback Ċ import Ġcom . github . typ 0 5 2 0 . code e . loads ir . Loading Callback Ċ import Ġcom . github . typ 0 5 2 0 . code e . mvp . bean . Repository Ċ import Ġcom . github . typ 0 5 2 0 . code e . mvp . bean . User Ċ import Ġcom . github . typ 0 5 2 0 . code e . mvp . contract . Search Contract Ċ import Ġcom . github . typ 0 5 2 0 . code e . mvp . presenter . Search Presenter Ċ import Ġcom . github . typ 0 5 2 0 . code e . ui . activity . MainActivity Ċ import Ġcom . github . typ 0 5 2 0 . code e . ui . adapter . Repository Adapter Ċ import Ġcom . github . typ 0 5 2 0 . code e . ui . adapter . User Adapter Ċ import Ġcom . github . typ 0 5 2 0 . code e . utils . hide Ċ import Ġcom . github . typ 0 5 2 0 . code e . utils . show Ċ import Ġcom . king ja . loads ir . core . Load Service Ċ import Ġcom . king ja . loads ir . core . Load S ir Ċ import Ġcom . z hy . fab ridge . lib . Fab ridge Ċ import Ġkotlinx . android . synt hetic . main . fragment _ search .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġt ong Ġon Ġ 2 0 1 7 / 1 2 / 3 0 . Ċ Ġ*/ Ċ class ĠSearch Fragment : ĠBase M vp Fragment < Search Contract . View , ĠSearch Contract . Presenter >(), ĠSearch Contract . View , ĠSearch View . On Query Text Listener Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance (): ĠSearch Fragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠSearch Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragment ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Id () Ġ= ĠR . layout . fragment _ search ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Presenter () Ġ= ĠSearch Presenter () ĊĊĠĠĠ Ġprivate Ġval Ġrepository Adapter Ġby Ġlazy Ġ{ ĠRepository Adapter ( m Activity !! ) Ġ} ĊĠĠĠ Ġprivate Ġval Ġuser Adapter Ġby Ġlazy Ġ{ ĠUser Adapter ( m Activity !! ) Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġload Service : ĠLoad Service < Any >? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġrepo Mode Ġ= Ġtrue ĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġtoolbar . set Navigation OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠF ab ridge . call ( m Activity , ĠMainActivity . EVENT _ SHOW _ OR _ HIDE _ DRAW ER ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsg . setOn Checked ChangeListener Ġ{ Ġgroup , Ġchecked Id Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( checked Id ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . btn _ repo Ġ-> Ġ{ Ġrepo Mode Ġ= Ġtrue Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . btn _ users Ġ-> Ġ{ Ġrepo Mode Ġ= Ġfalse Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsearch _ View . setOn Search ClickListener Ġ{ Ġsg . hide () Ġ} ĊĠĠĠĠĠĠĠ Ġsearch _ View . setOn Close Listener Ġ{ Ġsg . show (). run Ġ{ Ġfalse Ġ} Ġ} ĊĠĠĠĠĠĠĠ Ġsearch _ View . setOn Query Text Listener ( this ) ĊĊĠĠĠĠĠĠĠ Ġre cycler _ view . layout Manager Ġ= ĠLinearLayoutManager ( m Activity ) ĊĠĠĠĠĠĠĠ Ġre cycler _ view . item Animator Ġ= ĠDefault Item Animator () ĊĠĠĠĠĠĠĠ Ġre cycler _ view . addItem Decoration ( Divider Item Decoration ( m Activity , ĠLinearLayoutManager . VERTICAL )) ĊĊĠĠĠĠĠĠĠ Ġ// display Ġloading ĊĠĠĠĠĠĠĠ Ġload Service Ġ= ĠLoad S ir . getDefault (). register ( recycler _ view ) ĊĠĠĠĠĠĠĠ Ġload Service ?. show Success () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Repositories ( repositories : ĠList < Repository >) Ġ{ ĊĠĠĠĠĠĠĠ Ġload Service ?. show Success () ĊĠĠĠĠĠĠĠ Ġre cycler _ view . adapter Ġ= Ġrepository Adapter ĊĠĠĠĠĠĠĠ Ġrepository Adapter . refresh ( repositories ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Users ( users : ĠList < User >) Ġ{ ĊĠĠĠĠĠĠĠ Ġload Service ?. show Success () ĊĠĠĠĠĠĠĠ Ġre cycler _ view . adapter Ġ= Ġuser Adapter ĊĠĠĠĠĠĠĠ Ġuser Adapter . refresh ( users ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Query Text Change ( new Text : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Query Text Submit ( query : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( TextUtils . isEmpty ( query )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġload Service ?. show Callback ( Loading Callback :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( repo Mode ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . search Repositories ( query !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . search Users ( query !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Error () Ġ{ ĊĠĠĠĠĠĠĠ Ġload Service ?. show Callback ( Error Callback :: class . java ) ĊĠĠĠ Ġ} Ċ }