package Ġcom . da ou . times app . ui . main Ċ Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . da ou . times app . R Ċ import Ġcom . da ou . times app . databinding . Activity Main Binding Ċ import Ġcom . da ou . times app . ui . clip . Clip Fragment Ċ import Ġcom . da ou . times app . ui . common . Base Activity Ċ import Ġcom . da ou . times app . ui . home . Home Fragment Ċ import Ġcom . google . android . material . tabs . Tab Layout Mediator Ċ import Ġorg . k oin . android x . view model . ext . android . viewModel Ċ Ċ class ĠMainActivity Ġ: ĠBase Activity < Activity Main Binding , ĠMain ViewModel >( R . layout . activity _ main ) Ġ{ ĊĠĠĠ Ġoverride Ġval ĠviewModel : ĠMain ViewModel Ġby ĠviewModel () ĊĠĠĠ Ġprivate Ġval Ġfragment List : ĠList < Fragment > Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHome Fragment (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClip Fragment () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( binding : ĠActivity Main Binding ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Pager . adapter Ġ= ĠMain ViewPager Adapter ( this @ MainActivity , Ġfragment List ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Pager . off screen Page Limit Ġ= Ġ 3 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Pager . setCurrent Item ( 0 , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTab Layout Mediator ( tab Layout , Ġview Pager ) Ġ{ Ġtab , Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( position ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġtab . text Ġ= ĠgetString ( R . string . label _ home ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġtab . text Ġ= ĠgetString ( R . string . label _ clip ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. attach () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Binding Variables ( binding : ĠActivity Main Binding ) Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġsubscribe ViewModel ( viewModel : ĠMain ViewModel ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( viewModel ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }