/* Ċ Ġ* ĠCopyright Ġ 2 0 1 6 - 2 0 2 0 ĠOpen ĠFood ĠF acts Ċ Ġ* Ċ Ġ* Ġ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 Ċ Ġ* Ċ Ġ* Ġhttps :// 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 Ġopen food facts . github . scr ach x . open food . app Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroidx . appcompat . app . AppCompat Delegate Ċ import Ġandroidx . h ilt . work . H ilt Worker Factory Ċ import Ġandroidx . multi dex . Multi Dex Application Ċ import Ġandroidx . work . Configuration Ċ import Ġdagger . h ilt . android . H ilt Android App Ċ import Ġio . reactivex . exceptions . Un deliver able Exception Ċ import Ġio . reactivex . plugins . Rx Java Plugins Ċ import Ġopen food facts . github . scr ach x . open food . models . Dao Session Ċ import Ġorg . green robot . event bus . EventBus Ċ import Ġorg . green robot . gre end ao . query . QueryBuilder Ċ import Ġjava . io . IOException Ċ import Ġjavax . inject . Inject Ċ Ċ @ H ilt Android App Ċ class ĠOFF Application Ġ: ĠMulti Dex Application (), ĠConfiguration . Provider Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġworker Factory : ĠH ilt Worker Factory ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġdao Session : ĠDao Session ĊĊĠĠĠ Ġoverride Ġfun Ġget Work Manager Configuration () Ġ= ĠConfiguration . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Worker Factory ( worker Factory ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĊĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĠĠĠĠĠĠĠ Ġ_ instance Ġ= Ġthis ĊĠĠĠĠĠĠĠ ĠAppCompat Delegate . set Compat Vector From Resources Enabled ( true ) ĊĊĠĠĠĠĠĠĠ ĠEvent Bus . builder (). addIndex ( OFF Events Index ()). install Default EventBus () ĊĊĠĠĠĠĠĠĠ Ġ// ĠDEBUG ĊĠĠĠĠĠĠĠ ĠQuery Builder . LOG _ VALUES Ġ= ĠDEBUG ĊĠĠĠĠĠĠĠ ĠQuery Builder . LOG _ SQL Ġ= ĠDEBUG ĊĠĠĠĠĠĠĠ ĠRx Java Plugins . set ErrorHandler Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠUn deliver able Exception Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . w ( LOG _ TAG , Ġ" Un deliver able Ġexception Ġreceived , Ġnot Ġsure Ġwhat Ġto Ġdo ", Ġit . cause ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠIOException Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġfine , Ġir relevant Ġnetwork Ġproblem Ġor ĠAPI Ġthat Ġthrows Ġon Ġcancellation ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . i ( LOG _ TAG , Ġ" network Ġexception ", Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ set ErrorHandler ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInterruptedException Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġfine , Ġsome Ġblocking Ġcode Ġwas Ġinterrupted Ġby Ġa Ġdispose Ġcall ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ set ErrorHandler ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNullPointerException , Ġis ĠIllegalArgumentException , Ġis ĠIllegalStateException Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġthat 's Ġlikely Ġa Ġbug Ġin Ġthe Ġapplication ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠThread . currentThread (). unc a ught ExceptionHandler !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. unc a ught Exception ( Thread . currentThread (), Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ set ErrorHandler ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠDEBUG Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġval ĠLOG _ TAG Ġ= ĠOFF Application :: class . simple Name !! ĊĊĠĠĠĠĠĠĠ Ġ@ Deprecated (" Use Ġh ilt .") ĊĠĠĠĠĠĠĠ Ġlateinit Ġvar Ġ_ instance : ĠOFF Application ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Synchron ized ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġ} Ċ } Ċ