package Ġcom . yu . tools . activity Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . FragmentManager Ċ import Ġandroidx . fragment . app . Fragment Pager Adapter Ċ import Ġandroidx . view pager . widget . ViewPager Ċ import Ġcom . google . android . material . bottomnavigation . Bottom Navigation View Ċ import Ġcom . yu . tools . Base Activity Ċ import Ġcom . yu . tools . R Ċ import Ġcom . yu . tools . fragment . App Fragment Ċ import Ġcom . yu . tools . fragment . Find Fragment Ċ import Ġcom . yu . tools . util . AppBar Scroll ChangeListener Ċ import Ġcom . yu . tools . util . StatusBar Util Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ Ċ class ĠMainActivity Ġ: ĠBase Activity (), ĠBottom Navigation View . On Navigation ItemSelected Listener , ĊĠĠĠ ĠView Pager . On Page ChangeListener Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġfragments Ġ= ĠArrayList < Fragment >() ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġrequest Permission () ĊĊĠĠĠĠĠĠĠ Ġfragments . add ( App Fragment ()) ĊĠĠĠĠĠĠĠ Ġfragments . add ( Find Fragment ()) ĊĊĠĠĠĠĠĠĠ Ġbottom Navigation View . setOn Navigation ItemSelected Listener ( this ) ĊĠĠĠĠĠĠĠ Ġview Pager . add On Page ChangeListener ( this ) ĊĠĠĠĠĠĠĠ Ġview Pager . adapter Ġ= ĠMy Pager Adapter ( support FragmentManager , Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠMy Pager Adapter ( ĊĠĠĠĠĠĠĠ Ġfm : ĠFragment Manager , ĊĠĠĠĠĠĠĠ Ġroot : ĠInt , ĊĠĠĠ Ġ) Ġ: ĠFragment Pager Adapter ( fm , Ġroot ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragments . size ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠFragment Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfragments [ position ] ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Navigation ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . item 1 Ġ-> Ġview Pager . currentItem Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . item 2 Ġ-> Ġview Pager . currentItem Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Page Selected ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbottom Navigation View . menu . getItem ( position ). isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġwhen Ġ( position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> ĠStatus Bar Util . setStatus Bar ( this , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstate Ġ= Ġ( fragments [ 1 ] Ġas ĠFind Fragment ). get Collapse State () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġis Light Ġ= Ġstate Ġ== ĠApp Bar Scroll ChangeListener . State . COLL AP SED ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus Bar Util . setStatus Bar ( this , Ġis Light ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Page Sc rolled ( position : ĠInt , Ġposition Offset : ĠFloat , Ġposition Offset Pixels : ĠInt ) Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġon Page Scroll StateChanged ( state : ĠInt ) Ġ{} Ċ }