package Ġcom . co git ator . google transition api Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Application Ċ import Ġandroid . app . Service Ċ import Ġcom . co git ator . google transition api . di . component . D agger App Component Ċ import Ġcom . co git ator . google transition api . helpers . tim ber . Debug Log Tree Ċ import Ġcom . co git ator . google transition api . helpers . tim ber . File Logging Tree Ċ import Ġcom . co git ator . google transition api . helpers . tim ber . Release Log Tree Ċ import Ġdagger . android . Android Injector Ċ import Ġdagger . android . Dispatch ing Android Injector Ċ import Ġdagger . android . Has Activity Injector Ċ import Ġdagger . android . Has Service Injector Ċ import Ġtim ber . log . Tim ber Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* Ġ@ author ĠAn kit ĠK umar Ġ( ank it d roid developer @ gmail . com ) Ġon Ġ 2 6 / 0 6 / 2 0 1 8 Ġ( MM / DD / YYYY ) Ċ Ġ*/ Ċ class ĠC og Application Ġ: ĠApplication (), ĠHas Activity Injector , ĠHas Service Injector Ġ{ ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġservice Injector : ĠDispatch ing Android Injector < Service > ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġactivity Injector : ĠDispatch ing Android Injector < Activity > ĊĊĠĠĠ Ġoverride Ġfun Ġactivity Injector (): ĠAndroid Injector < Activity > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġactivity Injector ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġservice Injector (): ĠAndroid Injector < Service > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġservice Injector ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĊĠĠĠĠĠĠĠ Ġ// ĠInject ĠD agger ĊĠĠĠĠĠĠĠ Ġinject D agger () ĊĊĠĠĠĠĠĠĠ Ġ// ĠPl ant ĠTim ber ĊĠĠĠĠĠĠĠ Ġplant Tim ber () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠHelper Ġmethod Ġto Ġinject ĠD agger App Component ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġinject D agger () Ġ{ ĊĠĠĠĠĠĠĠ ĠD agger App Component ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. application ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠHelper Ġmethod Ġto Ġplan ĠTim ber Ġlogging Ġtrees . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠIf Ġapp Ġis Ġin Ġdebug Ġmode , Ġthen Ġplant Ġ{@ link ĠDebug Log Tree } Ġ& Ġ{@ link ĠFile Logging Tree }, ĊĠĠĠĠ Ġ* Ġelse Ġplant Ġ{@ link ĠRelease Log Tree } ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġplant Tim ber () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . plant ( Debug Log Tree ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfile Logging Pl anted Ġ= ĠTim ber . forest (). any Ġ{ Ġit Ġis ĠFile Logging Tree Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! file Logging Pl anted ) ĠTim ber . plant ( File Logging Tree ( this )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . plant ( Release Log Tree ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }