/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 0 ĠNav j ot ĠSing h ĠB edi . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . de ha at . good reads . utils . log Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . de ha at . good reads . utils . Global Config Ċ import Ġcom . de ha at . good reads . utils . Global Config . Core . RELEASE _ LOG _ TAG Ċ import Ġtim ber . log . Tim ber Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠLogger Ġ@ Inject Ġconstructor ( private Ġval Ġcontext : ĠContext ) Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Tim ber . tree Count () Ġ== Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( Global Config . Settings . ENABLE _ LOG S ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . plant ( Tim ber . Debug Tree ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . plant ( Release Tree ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġv ( any : ĠAny , Ġmessage : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠTim ber . v ( compose Message ( any , Ġmessage )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġe ( any : ĠAny , Ġmessage : ĠString , Ġrelease : ĠBoolean Ġ= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( release ) ĠTim ber . tag ( RELEASE _ LOG _ TAG ). e ( message ) ĊĠĠĠĠĠĠĠ Ġelse ĠTim ber . e ( compose Message ( any , Ġmessage )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġe ( throwable : ĠThrowable , Ġrelease : ĠBoolean Ġ= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( release ) ĠTim ber . tag ( RELEASE _ LOG _ TAG ). e ( throwable ) ĊĠĠĠĠĠĠĠ Ġelse ĠTim ber . e ( throwable ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġd ( any : ĠAny , Ġmessage : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠTim ber . d ( compose Message ( any , Ġmessage )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġi ( any : ĠAny , Ġmessage : ĠString , Ġrelease : ĠBoolean Ġ= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( release ) ĠTim ber . tag ( RELEASE _ LOG _ TAG ). i ( message ) ĊĠĠĠĠĠĠĠ Ġelse ĠTim ber . i ( compose Message ( any , Ġmessage )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcompose Message ( any : ĠAny , Ġmessage : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ""" ${ any . java Class . simple Name }: Ġ$ message """ ĊĠĠĠ Ġ} Ċ }