package Ġdev . el ise o . cv . view . main Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġdev . el ise o . cv . databinding . Activity Main Binding Ċ import Ġdev . el ise o . cv . view . tools . ViewPager Header Mediator Ċ import Ġdev . el ise o . lib _ base . view . Base ViewModel Activity Ċ import Ġorg . k oin . android x . view model . scope . viewModel Ċ import Ġorg . k oin . android x . scope . lifecycle Scope Ġas Ġk oin Scope Ċ Ċ class ĠMainActivity Ġ: ĠBase ViewModel Activity < Activity Main Binding , ĠMain ViewState , ĠMain View Channel , ĠMain ViewModel >() Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġview Binding : Ġ( LayoutInflater ) Ġ-> ĠActivity Main Binding Ġ= Ġ{ ĊĠĠĠĠĠĠĠ ĠActivity Main Binding . inflate ( it ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġval ĠviewModel : ĠMain ViewModel Ġby Ġk oin Scope . viewModel ( this ) ĊĊĠĠĠ Ġprivate Ġval Ġpager Adapter : ĠMain Pager Adapter Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠMain Pager Adapter ( support FragmentManager , Ġlifecycle Ġ= Ġlifecycle ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsetup UI () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . view Pager 2 Main Container . adapter Ġ= Ġpager Adapter ĊĠĠĠĠĠĠĠ ĠView Pager Header Mediator ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= Ġbinding . view Pager 2 Main Container , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheader Ġ= Ġbinding . re cyclerView Main Header ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġheader ViewHolder , Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġheader ViewHolder . textView Header . text Ġ= Ġpager Adapter . getTitle ( position ) ĊĠĠĠĠĠĠĠ Ġ}. attach () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrender ViewState ( view State : ĠMain ViewState ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpager Adapter . set Sections ( view State . sections ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhandle View Channel ( view Channel : ĠMain View Channel ) Ġ{ ĊĠĠĠĠĠĠĠ ĠTODO (" not Ġimplemented ") Ġ// To Ġchange Ġbody Ġof Ġcreated Ġfunctions Ġuse ĠFile Ġ| ĠSettings Ġ| ĠFile ĠTemplates . ĊĠĠĠ Ġ} Ċ } Ċ