package Ġcom . hoc . com ic app . initializer Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . startup . Initializer Ċ import Ġcom . hoc . com ic app . k oin . app Module Ċ import Ġcom . hoc . com ic app . k oin . data Module Ċ import Ġcom . hoc . com ic app . k oin . navigation Module Ċ import Ġcom . hoc . com ic app . k oin . network Module Ċ import Ġcom . hoc . com ic app . k oin . viewModel Module Ċ import Ġorg . k oin . android . ext . k oin . android Context Ċ import Ġorg . k oin . android . ext . k oin . android Logger Ċ import Ġorg . k oin . core . K oin Ċ import Ġorg . k oin . core . context . Global Context Ċ import Ġorg . k oin . core . context . start K oin Ċ import Ġorg . k oin . core . logger . Level Ċ import Ġtim ber . log . Tim ber Ċ Ċ @ Suppress (" unused ") Ċ class ĠK oin Initializer Ġ: ĠInitial izer < K oin > Ġ{ ĊĠ Ġoverride Ġfun Ġcreate ( context : ĠContext ): ĠK oin Ġ= Ġcontext ĊĠĠĠ Ġ. start K oin IfNeeded () ĊĠĠĠ Ġ. also Ġ{ ĠTim ber . tag (" Initializer "). d (" K oin Ġinitialized ") Ġ} ĊĊĠ Ġoverride Ġfun Ġdependencies (): ĠList < Class < out ĠInitial izer <* >>> Ġ= ĊĠĠĠ ĠlistOf ( Tim ber Initializer :: class . java ) Ċ } Ċ Ċ /** Ċ Ġ* ĠStart Ġk oin Ġif Ġglobal ĠK oin Context Ġis Ġnull . Ċ Ġ* Ġ@ return Ġ[ K oin ] Ġinstance . Ċ Ġ*/ Ċ fun ĠContext . start K oin IfNeeded (): ĠK oin Ġ{ ĊĠ Ġreturn ĠGlobal Context . get OrNull () Ġ?: Ġstart K oin Ġ{ ĊĠĠĠ Ġ// Ġuse ĠAndroid Logger Ġas ĠK oin ĠLogger ĊĠĠĠ Ġ// ĠTODO ( K oin ): Ġandroid Logger ( level Ġ= Ġif Ġ( Build Config . DEBUG ) ĠLevel . DEBUG Ġelse ĠLevel . NONE ) ĊĠĠĠ Ġandroid Logger ( level Ġ= ĠLevel . NONE ) ĊĊĠĠĠ Ġ// Ġuse Ġthe ĠAndroid Ġcontext Ġgiven Ġthere ĊĠĠĠ Ġandroid Context ( application Context ) ĊĊĠĠĠ Ġmodules ( ĊĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠ Ġnetwork Module , ĊĠĠĠĠĠĠĠ Ġdata Module , ĊĠĠĠĠĠĠĠ Ġapp Module , ĊĠĠĠĠĠĠĠ ĠviewModel Module , ĊĠĠĠĠĠĠĠ Ġnavigation Module , ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĠ Ġ}. k oin Ċ } Ċ