package Ġfr . core nt ing . ed comp anion . activities Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . appcompat . app . AppCompat Delegate Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . fragment . app . Fragment Pager Adapter Ċ import Ġfr . core nt ing . ed comp anion . R Ċ import Ġfr . core nt ing . ed comp anion . databinding . Activity Fragments With Tabs Binding Ċ import Ġfr . core nt ing . ed comp anion . utils . Theme Utils Ċ Ċ abstract Ġclass ĠAbstract ViewPager Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity Fragments With Tabs Binding ĊĠĠĠ Ġprotected Ġlateinit Ġvar Ġdata Name : ĠString ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠAppCompat Delegate . setDefault Night Mode ( Theme Utils . get Theme ToUse ( this )) ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity Fragments With Tabs Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġbinding . root ĊĠĠĠĠĠĠĠ ĠsetContentView ( view ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġdata Ġname Ġfrom Ġintent ĊĠĠĠĠĠĠĠ Ġdata Name Ġ= ĠgetDefault Data () ĊĠĠĠĠĠĠĠ Ġdata Name Ġ= Ġintent . extras ?. getString (" data ", ĠgetDefault Data ()). toString () ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġtoolbar ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( binding . toolbar ) ĊĠĠĠĠĠĠĠ Ġif Ġ( support ActionBar Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Show Home Enabled ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// ĠView pager ĊĠĠĠĠĠĠĠ Ġbinding . view Pager . off screen Page Limit Ġ= Ġ 4 ĊĠĠĠĠĠĠĠ Ġbinding . view Pager . adapter Ġ= Ġget Pager Adapter () ĊĊĠĠĠĠĠĠĠ Ġ// ĠTab Layout ĊĠĠĠĠĠĠĠ Ġbinding . tab Layout . setup With ViewPager ( binding . view Pager ) ĊĠĠĠĠĠĠĠ Ġif Ġ( Theme Utils . is Dark Theme Enabled ( this )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . tab Layout . set BackgroundColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . primary Color Dark ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . tab Layout . set BackgroundColor ( Context Compat . getColor ( this , ĠR . color . primary Color )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . tab Layout . set Tab Text Colors ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( this , ĠR . color . tab Text Selected ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor ( this , ĠR . color . tab Text ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠgetData () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( item . itemId Ġ== Ġandroid . R . id . home ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun ĠgetDefault Data (): ĠString ĊĠĠĠ Ġabstract Ġfun Ġget Pager Adapter (): ĠFragment Pager Adapter ĊĠĠĠ Ġabstract Ġfun ĠgetData () Ċ }