package Ġnet . slash _ omega . j uk t away Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . KeyEvent Ċ import Ġandroid . view . MenuItem Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Abs ListView Ċ import Ġjp . ne phy . pen ic ill in . endpoints . users Ċ import Ġjp . ne phy . pen ic ill in . endpoints . users . search Ċ import Ġjp . ne phy . pen ic ill in . extensions . await Ċ import Ġkotlinx . android . synt hetic . main . activity _ user _ search .* Ċ import Ġkotlinx . coroutines . launch Ċ import Ġnet . slash _ omega . j uk t away . adapter . User Adapter Ċ import Ġnet . slash _ omega . j uk t away . twitter . current Client Ċ import Ġnet . slash _ omega . j uk t away . util . Keyboard Util Ċ import Ġnet . slash _ omega . j uk t away . util . Theme Util Ċ import Ġorg . jetbrains . ank o . toast Ċ Ċ /** Ċ Ġ* ĠCreated Ġon Ġ 2 0 1 8 / 0 8 / 2 9 . Ċ Ġ*/ Ċ class ĠUser Search Activity : ĠScoped Fragment Activity () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Search Word : ĠString ĊĠĠĠ Ġprivate Ġvar Ġm Page Ġ= Ġ 1 ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Adapter : ĠUser Adapter ĊĠĠĠ Ġprivate Ġvar Ġm Auto Loading Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠTheme Util . set Theme ( this ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ user _ search ) ĊĊĠĠĠĠĠĠĠ Ġaction Bar ?. run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Home Button Enabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġlist _ view . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġm Adapter Ġ= ĠUser Adapter ( this , ĠR . layout . row _ user ) ĊĠĠĠĠĠĠĠ Ġlist _ view . adapter Ġ= Ġm Adapter ĊĊĠĠĠĠĠĠĠ Ġsearch . setOnClickListener Ġ{ Ġsearch () Ġ} ĊĠĠĠĠĠĠĠ Ġsearch _ text . setOn Key Listener Ġ{ Ġ_, Ġcode , Ġe Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( e . action Ġ== ĠKeyEvent . ACTION _ DOWN Ġ&& Ġcode Ġ== ĠKeyEvent . KEYCODE _ ENTER ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsearch () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġintent . getString Extra (" query ") ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch _ text . setText ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch . perform Click () ĊĠĠĠĠĠĠĠ Ġ} Ġ?: ĠKeyboard Util . show Keyboard ( search _ text ) ĊĊĠĠĠĠĠĠĠ Ġlist _ view . setOn Scroll Listener ( object : ĠAbs ListView . On Scroll Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Scroll StateChanged ( view : ĠAbs ListView , Ġscroll State : ĠInt ) Ġ{} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Scroll ( view : ĠAbs ListView , Ġfirst Visible Item : ĠInt , Ġvisible ItemCount : ĠInt , Ġtotal ItemCount : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ æľĢ å¾Į ãģ¾ãģ§ ãĤ¹ãĤ¯ ãĥŃ ãĥ¼ãĥ« ãģķãĤĮãģŁ ãģĭ ãģ© ãģĨ ãģĭ ãģ® åĪ¤ å®ļ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( total ItemCount Ġ== Ġfirst Visible Item Ġ+ Ġvisible ItemCount ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadditional Reading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . id . home Ġ-> Ġfinish () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsearch () Ġ{ ĊĠĠĠĠĠĠĠ ĠKeyboard Util . hide Keyboard ( search _ text ) ĊĠĠĠĠĠĠĠ Ġif Ġ( search _ text . text Ġ== Ġnull ) Ġreturn ĊĠĠĠĠĠĠĠ Ġm Adapter . clear () ĊĠĠĠĠĠĠĠ Ġm Page Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġlist _ view . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġg ur ug uru . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġm Search Word Ġ= Ġsearch _ text . text . toString () ĊĠĠĠĠĠĠĠ Ġuser Search ( m Search Word ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadditional Reading () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! m Auto Loading ) Ġreturn ĊĠĠĠĠĠĠĠ Ġg ur ug uru . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġm Auto Loading Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġuser Search ( m Search Word ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġuser Search ( word : ĠString ) Ġ= Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠ Ġrun Catch ing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Client . users . search ( word , Ġm Page , Ġ 2 0 ). await () ĊĠĠĠĠĠĠĠ Ġ}. on Success Ġ{ Ġres Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter . addAll ( res ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( res . size Ġ== Ġ 2 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Auto Loading Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Page ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist _ view . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ}. on Failure Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast ( R . string . toast _ load _ data _ failure ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġg ur ug uru . visibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} Ċ }