package Ġcom . mar cin str am owski . social meal . di Ċ Ċ import Ġandroid . app . Application Ċ import Ġcom . mar cin str am owski . social meal . Social Me al Application Ċ import Ġcom . mar cin str am owski . social meal . account . UserData Module Ċ import Ġcom . mar cin str am owski . social meal . api . Api Module Ċ import Ġdagger . Bind s Instance Ċ import Ġdagger . Component Ċ import Ġdagger . android . Android Injector Ċ import Ġdagger . android . D agger Application Ċ import Ġdagger . android . support . Android Support Injection Module Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Singleton Ċ @ Component ( modules Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠ ĠApplication Module :: class , ĊĠĠĠĠĠĠĠ ĠActivity Binding Module :: class , ĊĠĠĠĠĠĠĠ ĠFragment Binding Module :: class , ĊĠĠĠĠĠĠĠ ĠAndroid Support Injection Module :: class , ĊĠĠĠĠĠĠĠ ĠUser Data Module :: class , ĊĠĠĠĠĠĠĠ ĠApi Module :: class ) Ċ ) Ċ interface ĠApp Component Ġ: ĠAndroid Injector < D agger Application > Ġ{ ĊĊĠĠĠ Ġfun Ġinject ( application : ĠSocial Me al Application ) ĊĊĠĠĠ Ġoverride Ġfun Ġinject ( instance : ĠD agger Application ) ĊĊĠĠĠ Ġ// ĠG ives Ġus Ġsynt actic Ġs ugar . Ġwe Ġcan Ġthen Ġdo ĠD agger App Component . builder (). application ( this ). build (). inject ( this ); ĊĠĠĠ Ġ// Ġnever Ġhaving Ġto Ġinstantiate Ġany Ġmodules Ġor Ġsay Ġwhich Ġmodule Ġwe Ġare Ġpassing Ġthe Ġapplication Ġto . ĊĠĠĠ Ġ// ĠApplication Ġwill Ġjust Ġbe Ġprovided Ġinto Ġour Ġapp Ġgraph Ġnow . ĊĠĠĠ Ġ@ Component . Builder ĊĠĠĠ Ġinterface ĠBuilder Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Bind s Instance ĊĠĠĠĠĠĠĠ Ġfun Ġapplication ( application : ĠApplication ): ĠApp Component . Builder ĊĊĠĠĠĠĠĠĠ Ġfun Ġbuild (): ĠApp Component ĊĠĠĠ Ġ} Ċ } Ċ