/* Ċ Ġ* ĠCopyright Ġ 2 0 2 2 ĠW ANG ĠY an ke Ċ Ġ* Ċ Ġ* Ġ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 Ġdev . y ank ew . sample . clean arch Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . h ilt . work . H ilt Worker Factory Ċ import Ġandroidx . work . Configuration Ċ import Ġandroidx . work . Work Manager Ċ import Ġdagger . h ilt . android . qual ifiers . ApplicationContext Ċ import Ġdev . y ank ew . sample . clean arch . crash ly t ics . Crash ly t ics Helper Ċ import Ġdev . y ank ew . sample . clean arch . crash ly t ics . Crash ly t ics Tree Ċ import Ġdev . y ank ew . sample . domain . coroutine . Application Scope Ċ import Ġdev . y ank ew . sample . init . App Base Initializer Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ import Ġkotlinx . coroutines . launch Ċ import Ġtim ber . log . Tim ber Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠApp Base Initializer Impl Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġ@ ApplicationContext Ġprivate Ġval Ġcontext : ĠContext , ĊĠĠĠ Ġ@ Application Scope Ġprivate Ġval Ġapplication Scope : ĠCor outine Scope , ĊĠĠĠ Ġprivate Ġval Ġworker Factory : ĠH ilt Worker Factory , ĊĠĠĠ Ġprivate Ġval Ġcrash ly t ics Helper : ĠCrash ly t ics Helper , Ċ ) Ġ: ĠApp Base Initializer Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . BUILD _ TYPE Ġ== Ġ" release ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . plant ( Crash ly t ics Tree ()) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . plant ( Crash ly t ics Tree (), ĠTim ber . Debug Tree ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠTim ber . i (" App Ġbase Ġinitialization ") ĊĊĠĠĠĠĠĠĠ Ġapplication Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcrash ly t ics Helper . setUp Crash ly t ics () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠWork Manager . initialize ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConfiguration . Builder (). set Worker Factory ( worker Factory ). build () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ