package Ġcom . simple . m vi . di . component Ċ Ċ import Ġcom . simple . m vi . M VI Application Ċ import Ġcom . simple . m vi . di . module . Application Module Ċ import Ġcom . simple . m vi . di . module . Network Module Ċ import Ġcom . simple . m vi . di . view models . D agger ViewModel Factory Ċ import Ġcom . simple . m vi . di . view models . ViewModel Module Ċ import Ġdagger . Bind s Instance Ċ import Ġdagger . Component Ċ import Ġjavax . inject . Singleton Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠR im ĠG azz ah Ġon Ġ 8 / 1 9 / 2 0 . Ċ Ġ**/ Ċ @ Component ( modules Ġ= Ġ[ Application Module :: class , ĠNetwork Module :: class , ĠViewModel Module :: class ]) Ċ @ Singleton Ċ interface ĠApplication Component Ġ{ ĊĊĠĠĠ Ġ@ Component . Builder ĊĠĠĠ Ġinterface ĠBuilder Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbuild (): ĠApplication Component ĊĊĠĠĠĠĠĠĠ Ġ@ Bind s Instance ĊĠĠĠĠĠĠĠ Ġfun Ġapplication ( app : ĠM VI Application ): ĠBuilder ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġprovide D agger ViewModel Factory (): ĠD agger ViewModel Factory Ċ }