package Ġcom . operation 3 inc . thew he ely cool app čĊč Ċ import Ġandroid . app . Application č Ċ import Ġandroidx . room . Room č Ċ import Ġcom . operation 3 inc . thew he ely cool app . db . App Database č Ċ import Ġcom . operation 3 inc . thew he ely cool app . repository . Option Repository č Ċ import Ġcom . operation 3 inc . thew he ely cool app . view model . Option ViewModel č Ċ import Ġorg . k oin . android . ext . k oin . android Application č Ċ import Ġorg . k oin . android . ext . k oin . android Context č Ċ import Ġorg . k oin . android . ext . k oin . android Logger č Ċ import Ġorg . k oin . android x . view model . dsl . viewModel č Ċ import Ġorg . k oin . core . context . start K oin č Ċ import Ġorg . k oin . dsl . module čĊč Ċ class ĠMain Application Ġ: ĠApplication () Ġ{ čĊčĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . onCreate () čĊčĊĠĠĠĠĠĠĠ Ġstart K oin Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Logger () čĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Context ( this @ Main Application ) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodules ( app Module ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġval Ġapp Module Ġ= Ġmodule Ġ{ čĊčĊĠĠĠĠĠĠĠ Ġ/** čĊĠĠĠĠĠĠĠĠ Ġ* ĠRoom Ġdatabase Ġinstance Ġonly Ġinitial ised Ġonce Ġwhen Ġapp Ġstarted čĊĠĠĠĠĠĠĠĠ Ġ*/ čĊĠĠĠĠĠĠĠ Ġsingle Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ ĠRoom . database Builder ( android Application (), ĠApp Database :: class . java , Ġ" wheel - db ") čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () čĊĠĠĠĠĠĠĠ Ġ} čĊčĊĠĠĠĠĠĠĠ Ġsingle Ġ{ Ġget < App Database >(). option Dao () Ġ} čĊčĊĠĠĠĠĠĠĠ Ġsingle Ġ{ ĠOption Repository ( get ()) Ġ} čĊčĊĠĠĠĠĠĠĠ ĠviewModel Ġ{ ĠOption ViewModel ( get ()) Ġ} čĊĠĠĠ Ġ} č Ċ }