package Ġarch ily ph . com . company . singleton Ċ Ċ import Ġandroid . app . Application Ċ import Ġarch ily ph . com . company . activity . MainActivity Ċ import Ġarch ily ph . com . company . database . Company Room Instance Ċ import Ġarch ily ph . com . company . repository . Employee Repository Ċ import Ġarch ily ph . com . company . view _ model . MainActivity ViewModel Ċ import Ġorg . k oin . android . architecture . ext . viewModel Ċ import Ġorg . k oin . android . ext . android . start K oin Ċ import Ġorg . k oin . dsl . module . Module Ċ import Ġorg . k oin . dsl . module . application Context Ċ Ċ // K oin Ġmodules Ġwill Ġfetch Ġ& Ġinject Ġthe Ġdependencies Ġfor Ġeach Ġclass Ċ val Ġk oin Module Ġ: ĠModule Ġ= Ġapplication Context Ġ{ ĊĠĠĠ ĠviewModel Ġ{ ĠMainActivity ViewModel ( get ()) Ġ} ĊĠĠĠ Ġfactory Ġ{ ĠCompany Room Instance ( get ()) Ġ} ĊĠĠĠ Ġfactory Ġ{ ĠEmployee Repository ( get ()) Ġ} Ċ } Ċ Ċ class ĠCompany Application Ġ: ĠApplication (){ ĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĠĠĠĠĠĠĠ Ġstart K oin ( this , ĠlistOf ( k oin Module )) ĊĠĠĠ Ġ} Ċ }