package Ġcom . rag d roid . m vi . main Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġcom . rag d roid . m vi . R Ċ import Ġcom . rag d roid . m vi . databinding . Activity Main Binding Ċ import Ġcom . rag d roid . m vi . helpers . Bind Activity Ċ import Ġcom . rag d roid . m vi . view model . Main ViewModel Ċ import Ġdagger . android . support . D agger AppCompatActivity Ċ Ċ class ĠMainActivity Ġ: ĠD agger AppCompatActivity () Ġ{ ĊĊĊĠĠĠ Ġval Ġbinding : ĠActivity Main Binding Ġby ĠBind Activity ( R . layout . activity _ main ) ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠMain ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( binding . toolbar ) ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Providers . of ( this ). get ( Main ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġopen Fragment () ĊĊĠĠĠĠĠĠĠ Ġbinding . fab . setOnClickListener Ġ{ Ġview Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( view , Ġ" presenter Ġ$ viewModel Ġadded ", ĠSn ackbar . LENGTH _ LONG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setAction (" Action ", Ġnull ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġopen Fragment () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfragment Manager Ġ= Ġsupport FragmentManager ĊĠĠĠĠĠĠĠ Ġval Ġfragment Transaction Ġ= Ġfragment Manager . beginTransaction () ĊĠĠĠĠĠĠĠ Ġval Ġfrag gy Ġ= ĠMain Fragment () ĊĠĠĠĠĠĠĠ Ġfragment Transaction . replace ( R . id . fragment _ container , Ġfrag gy ) ĊĠĠĠĠĠĠĠ Ġfragment Transaction . commit () ĊĠĠĠ Ġ} Ċ Ċ } ĊĊĊ