package Ġcom . no organization . google cert ification kotlin . extra _ code _ lab _ injection . step 3 . di Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . no organization . google cert ification kotlin . extra _ code _ lab _ injection . step 3 . di . sub component . login . Login Component Ċ import Ġcom . no organization . google cert ification kotlin . extra _ code _ lab _ injection . step 3 . di . sub component . login . module . Login Module Ċ import Ġdagger . Bind s Instance Ċ import Ġdagger . Component Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Singleton Ċ // ĠDefinition Ġof Ġa ĠD agger Ġcomponent Ġthat Ġadds Ġinfo Ġfrom Ġthe Ġdifferent Ġmodules Ġto Ġthe Ġgraph Ċ @ Component ( modules Ġ= Ġ[ App Sub components :: class , ĠLogin Module :: class ]) Ċ interface ĠApp Component Ġ{ ĊĊĠĠĠ Ġ// ĠFactory Ġto Ġcreate Ġinstances Ġof Ġthe ĠApp Component ĊĠĠĠ Ġ@ Component . Factory ĊĠĠĠ Ġinterface ĠFactory Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠWith Ġ@ Bind s Instance , Ġthe ĠContext Ġpassed Ġin Ġwill Ġbe Ġavailable Ġin Ġthe Ġgraph ĊĠĠĠĠĠĠĠ Ġfun Ġcreate (@ Bind s Instance Ġcontext : ĠContext ): ĠApp Component ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġlogin Component (): ĠLogin Component . Factory Ċ }