package Ġcom . h ari . t mdb . di Ċ Ċ import Ġandroid . app . Application Ċ import Ġcom . h ari . t mdb . App Ċ import Ġcom . h ari . t mdb . MainActivity Module Ċ import Ġcom . h ari . t mdb . data . api . T mdb Api Module Ċ import Ġcom . h ari . t mdb . image loading . Image Loading Module Ċ import Ġdagger . Bind s Instance Ċ import Ġdagger . Component Ċ import Ġdagger . android . Android Injection Module Ċ import Ġdagger . android . Android Injector Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Singleton Ċ @ Component ( ĊĠĠĠ Ġmodules Ġ= Ġ[ ĊĠĠĠĠĠĠĠ ĠApp Module :: class , ĊĠĠĠĠĠĠĠ ĠAndroid Injection Module :: class , ĊĠĠĠĠĠĠĠ ĠMainActivity Module . MainActivity Builder :: class , ĊĠĠĠĠĠĠĠ ĠDb Component Module :: class , ĊĠĠĠĠĠĠĠ ĠT mdb Api Module :: class , ĊĠĠĠĠĠĠĠ ĠRepository Component Module :: class , ĊĠĠĠĠĠĠĠ ĠImage Loading Module :: class ĊĠĠĠ Ġ] Ċ ) Ċ interface ĠApp Component Ġ: ĠAndroid Injector < App >, ĠApp Component Interface Ġ{ ĊĠĠĠ Ġ@ Component . Factory ĊĠĠĠ Ġinterface ĠFactory Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġcreate (@ Bind s Instance Ġapplication : ĠApplication ): ĠApp Component ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinject ( app : ĠApp ) Ċ } Ċ Ċ fun ĠApplication . create App Component () Ġ= ĠD agger App Component . factory (). create ( this )