package Ġse . nt lv . basic launcher . d agger Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . content . pm . PackageManager Ċ import Ġcom . google . android . gms . gcm . G cm Network Manager Ċ import Ġdagger . Component Ċ import Ġse . nt lv . basic launcher . database . App Detail DB Ċ import Ġse . nt lv . basic launcher . database . Global Config Ċ import Ġse . nt lv . basic launcher . package handling . App Change Logger Service Ċ import Ġjava . io . File Ċ import Ġjavax . inject . Named Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Singleton Ċ @ Component ( modules Ġ= ĠarrayOf ( Application Module :: class )) Ċ interface ĠApplication Component Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġinit ( module : ĠApplication Module ): ĠApplication Component Ġ= ĠD agger Application Component . builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. application Module ( module ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġapplication (): ĠApplication ĊĊĠĠĠ Ġfun Ġdb (): ĠApp Detail DB ĊĊĠĠĠ Ġfun Ġpackage Manager (): ĠPackage Manager ĊĊĠĠĠ Ġ@ Named (" cache ") ĊĠĠĠ Ġfun Ġcache (): ĠFile ĊĊĠĠĠ Ġ@ Named (" version ") ĊĠĠĠ Ġfun Ġversion (): ĠInt ĊĊĠĠĠ Ġfun Ġnetwork Manager () Ġ: ĠG cm Network Manager ĊĊĠĠĠ Ġfun Ġglobal CO n fig () Ġ: ĠGlobal Config ĊĊĠĠĠ Ġfun Ġinject ( target : ĠApp Change Logger Service ) Ċ Ċ } ĊĊ