package Ġcom . commit 4 5 1 . gitlab . activity Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . design . widget . Tab Layout Ċ import Ġandroid . support . v 4 . view . ViewPager Ċ import Ġandroid . support . v 7 . widget . Toolbar Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . EditText Ċ import Ġbutter knife .* Ċ import Ġcom . commit 4 5 1 . gitlab . R Ċ import Ġcom . commit 4 5 1 . gitlab . adapter . Search Pager Adapter Ċ import Ġcom . commit 4 5 1 . jo unce . De bounc er Ċ import Ġcom . commit 4 5 1 . tele printer . Tele printer Ċ import Ġtim ber . log . Tim ber ĊĊ Ċ /** Ċ Ġ* ĠSearch Ġfor Ġ: all the things : Ċ Ġ*/ Ċ class ĠSearch Activity Ġ: ĠBase Activity () Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġnew Intent ( context : ĠContext ): ĠIntent Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠSearch Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġintent ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ BindView ( R . id . root ) ĊĠĠĠ Ġlateinit Ġvar Ġroot : ĠView ĊĠĠĠ Ġ@ BindView ( R . id . tabs ) ĊĠĠĠ Ġlateinit Ġvar Ġtab Layout : ĠTab Layout ĊĠĠĠ Ġ@ BindView ( R . id . pager ) ĊĠĠĠ Ġlateinit Ġvar Ġview Pager : ĠView Pager ĊĠĠĠ Ġ@ BindView ( R . id . toolbar ) ĊĠĠĠ Ġlateinit Ġvar Ġtoolbar : ĠToolbar ĊĠĠĠ Ġ@ BindView ( R . id . search ) ĊĠĠĠ Ġlateinit Ġvar Ġtext Search : ĠEditText ĊĠĠĠ Ġ@ BindView ( R . id . clear ) ĊĠĠĠ Ġlateinit Ġvar Ġbutton Clear : ĠView ĊĊĠĠĠ Ġlateinit Ġvar Ġadapter Search : ĠSearch Pager Adapter ĊĠĠĠ Ġlateinit Ġvar Ġm Tele printer : ĠTele printer ĊĊĠĠĠ Ġprivate Ġval Ġde bounc er Ġ= Ġobject Ġ: ĠDe bounc er < CharSequence >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Value Set ( value : ĠCharSequence ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsearch () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ OnClick ( R . id . clear ) ĊĠĠĠ Ġfun Ġon Clear Click () Ġ{ ĊĠĠĠĠĠĠĠ Ġbutton Clear . animate (). alpha ( 0 . 0 f ). with End Action Ġ{ Ġbutton Clear . visibility Ġ= ĠView . GONE Ġ} ĊĠĠĠĠĠĠĠ Ġtext Search . text . clear () ĊĠĠĠĠĠĠĠ Ġm Tele printer . show Keyboard ( text Search ) ĊĠĠĠĠĠĠĠ Ġde bounc er . cancel () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ On Editor Action ( R . id . search ) ĊĠĠĠ Ġfun Ġon Search Editor Action (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( text Search . text . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Search . setText (" lab co at ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsearch () ĊĠĠĠĠĠĠĠ Ġm Tele printer . hide Keyboard () ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ On TextChanged ( R . id . search ) ĊĠĠĠ Ġfun Ġon Search TextChanged ( s : ĠCharSequence ?, Ġstart : ĠInt , Ġbefore : ĠInt , Ġcount : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( s . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Clear . animate (). alpha ( 0 . 0 f ). with End Action Ġ{ Ġbutton Clear . visibility Ġ= ĠView . GONE Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( count Ġ== Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Clear . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Clear . animate (). alpha ( 1 . 0 f ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( s Ġ!= Ġnull Ġ&& Ġs . length Ġ> Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . d (" Post ing Ġnew Ġfuture Ġsearch ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġde bounc er . value Ġ= Ġs ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// This Ġmeans Ġthey Ġare Ġback spacing ĊĠĠĠĠĠĠĠ Ġif Ġ( before Ġ> Ġcount ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . d (" Removing Ġfuture Ġsearch ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġde bounc er . cancel () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ search ) ĊĠĠĠĠĠĠĠ ĠB utter Kn ife . bind ( this ) ĊĠĠĠĠĠĠĠ Ġm Tele printer Ġ= ĠTele printer ( this ) ĊĠĠĠĠĠĠĠ Ġtoolbar . set Navigation Icon ( R . drawable . ic _ back _ 2 4 dp ) ĊĠĠĠĠĠĠĠ Ġtoolbar . set Navigation OnClickListener Ġ{ Ġon Back Pressed () Ġ} ĊĠĠĠĠĠĠĠ Ġadapter Search Ġ= ĠSearch Pager Adapter ( this , Ġsupport FragmentManager ) ĊĠĠĠĠĠĠĠ Ġview Pager . adapter Ġ= Ġadapter Search ĊĠĠĠĠĠĠĠ Ġtab Layout . setup With ViewPager ( view Pager ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsearch () Ġ{ ĊĠĠĠĠĠĠĠ ĠTim ber . d (" Searching ") ĊĠĠĠĠĠĠĠ Ġadapter Search . search Query ( text Search . text . toString ()) ĊĠĠĠ Ġ} Ċ } Ċ