package Ġcom . j mand ay . commerce Ċ Ċ import Ġandroid . app . Application Ċ import Ġcom . j mand ay . commerce . di . Module Injector Ċ import Ġcom . j mand ay . commerce . di . app Module Dependencies Ċ import Ġcom . mand ay . fruit . di . fruit Module Dependencies Ċ import Ġcom . mand ay . login user . injector . Login User View Injector Ċ import Ġcom . mand ay . login user . injector . Login User View Injector Imp Ċ import Ġcom . mand ay . management . di . management Module Dependencies Ċ 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 . context . start K oin Ċ Ċ class ĠCom merce App : ĠApplication (), ĠModule Injector Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĠĠĠĠĠĠĠ Ġ// ĠStart ĠK oin ĊĠĠĠĠĠĠĠ Ġstart K oin { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Logger () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Context ( this @ Commerce App ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodules ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Module Dependencies , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfruit Module Dependencies , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmanagement Module Dependencies ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprovide User Login Injector (): ĠLogin User View Injector Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠLogin User View Injector Imp () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġvar Ġinstance : ĠCom merce App ? Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġfun ĠgetInstance (): ĠCom merce App ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( instance Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsynchronized ( Commerce App :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinstance Ġ= ĠCom merce App () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġinstance ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }