package Ġse ph . android . com . item tracker . view . ui Ċ Ċ import Ġandroid . arch . lifecycle . Observer Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġse ph . android . com . item tracker . R Ċ import Ġse ph . android . com . item tracker . model . Item Ċ import Ġse ph . android . com . item tracker . view . adapter . Items Adapter Ċ import Ġse ph . android . com . item tracker . view . ui . base . Base Activity Ċ import Ġse ph . android . com . item tracker . view model . Main ViewModel Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġse ph Ġon Ġ 0 3 / 0 5 / 2 0 1 8 . Ċ Ġ*/ Ċ Ċ class ĠMainActivity Ġ: ĠBase Activity (), ĠItems Adapter . On ItemClickListener Ġ Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġlayout ResourceId Ġ= ĠR . layout . activity _ main ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar ĠviewModel : ĠMain ViewModel ĊĊĠĠĠ Ġvar Ġitems Adapter Ġ: ĠItems Adapter Ġ= ĠItems Adapter ( this ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĊĠĠĠĠĠĠĠ Ġfab . setOnClickListener Ġ{ Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this , ĠItem Add Activity :: class . java )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠviewModel . live Data . observe ( this , Ġ ĠObserver ( items Adapter :: load Models )) ĊĊĠĠĠĠĠĠĠ Ġ// ĠSet Ġthe Ġadapter ĊĠĠĠĠĠĠĠ Ġwith ( re cyclerView ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġitems Adapter ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠviewModel . getItems () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Item Clicked ( item : ĠItem ) Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġintent Ġ= ĠIntent ( this , ĠItem Detail Activity :: class . java ) ĊĠĠĠĠĠĠĠ Ġintent . putExtra (" item ", Ġitem ) ĊĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĠĠĠ Ġ} Ċ } Ċ