package Ġcom . d roid . clean _ architecture _ android _ tutorial . di . components Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroidx . databinding . ViewData Binding Ċ import Ġcom . d roid . clean _ architecture _ android _ tutorial . di . modules .* Ċ import Ġcom . d roid . clean _ architecture _ android _ tutorial . network . ret rofit . Request Api Ċ import Ġcom . d roid . clean _ architecture _ android _ tutorial . ui . activities . main _ activity . MainActivity Ċ import Ġcom . d roid . clean _ architecture _ android _ tutorial . ui . core . Base Activity Ċ import Ġcom . d roid . clean _ architecture _ android _ tutorial . ui . core . Base Application Ċ import Ġdagger . Bind s Instance Ċ import Ġdagger . Component Ċ import Ġjavax . inject . Singleton Ċ Ċ /** Ċ Ġ* Ġ@ author ĠMu ham mad ĠAt if Ċ Ġ* Ġ@ Github ĠAt if Ab b As i 1 9 Ċ Ġ*/ Ċ Ċ @ Singleton Ċ @ Component ( ĊĠĠĠ Ġmodules Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠ ĠNetwork Module :: class , ĊĠĠĠĠĠĠĠ ĠApplication Module :: class , Ċ // ĠĠĠĠĠĠĠ ĠStorage Module :: class , ĊĠĠĠĠĠĠĠ ĠViewModel Module :: class ĊĠĠĠ Ġ) Ċ ) Ċ interface ĠApp Component Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ Component ĠComponents Ġdefine Ġfrom Ġwhich Ġmodules Ġ( or Ġother Ġcomponents ) Ġdependencies Ġare Ġprovided ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ Basic _ Url ĊĠĠĠĠ Ġ* Ġhttps :// code . tut spl us . com / tutorials / dependency - injection - with - d agger - 2 - on - android -- cms - 2 3 3 4 5 ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ Advance _ url ĊĠĠĠĠ Ġ* Ġhttps :// android . j le lse . eu / android - mv vm - with - d agger - 2 - ret rofit - rx java - architecture - components - 6 f 5 da 1 a 7 5 1 3 5 ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġhttps :// www . journal dev . com / 2 0 4 0 5 / android - d agger - 2 - ret rofit - recyclerview ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġhttps :// guides . code path . com / android / Dependency - Injection - with - D agger - 2 ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġfun Ġinject ( base : ĠBase Activity <* >) ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġfun Ġget Request Api (): ĠRequest Api ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġfun Ġinject ( application : ĠApplication ) ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġfun Ġinject ( base Application : ĠBase Application ) Ċ Ċ // ĠĠĠ Ġfun Ġinject ( main Activity : ĠMainActivity ) ĊĊĠĠĠ Ġfun Ġinject ( base Activity : ĠBase Activity ) ĊĊĊĠĠĠ Ġ/* Ġ@ Component . Builder ĊĠĠĠĠ Ġinterface ĠBuilder { ĊĠĠĠĠĠĠĠĠ Ġ@ Bind s Instance ĊĠĠĠĠĠĠĠĠ ĠBuilder Ġh orse Power ( int Ġh orse Power ); ĊĊĠĠĠĠĠĠĠĠ Ġcar Component ĠBuild (); ĊĊĠĠĠĠ Ġ} Ċ Ġ*/ Ċ }