package Ġxyz . har mony app . oly mp us blog Ċ Ċ import Ġandroid . app . Application Ċ import Ġxyz . har mony app . oly mp us blog . di . App Component Ċ import Ġxyz . har mony app . oly mp us blog . di . D agger App Component Ċ import Ġxyz . har mony app . oly mp us blog . di . auth . Auth Component Ċ import Ġxyz . har mony app . oly mp us blog . di . main . Main Component Ċ Ċ class ĠBase Application Ġ: ĠApplication () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġapp Component : ĠApp Component ĊĊĠĠĠ Ġprivate Ġvar Ġauth Component : ĠAuth Component ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġmain Component : ĠMain Component ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĠĠĠĠĠĠĠ Ġinit App Component () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit App Component () Ġ{ ĊĠĠĠĠĠĠĠ Ġapp Component Ġ= ĠD agger App Component . builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. application ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrelease Auth Component () Ġ{ ĊĠĠĠĠĠĠĠ Ġauth Component Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġauth Component (): ĠAuth Component Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( auth Component Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauth Component Ġ= Ġapp Component . auth Component (). create () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġauth Component Ġas ĠAuth Component ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrelease Main Component () Ġ{ ĊĠĠĠĠĠĠĠ Ġmain Component Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmain Component (): ĠMain Component Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( main Component Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmain Component Ġ= Ġapp Component . main Component (). create () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġmain Component Ġas ĠMain Component ĊĠĠĠ Ġ} Ċ Ċ }