package Ġcom . ph ic dy . my c uration Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . content . Context Ċ import Ġandroidx . work . Configuration Ċ import Ġandroidx . work . Periodic Work RequestBuilder Ċ import Ġandroidx . work . Work Manager Ċ import Ġcom . facebook . ste tho . St eth o Ċ import Ġcom . google . firebase . analytics . Firebase Analytics Ċ import Ġcom . google . firebase . crash ly t ics . Firebase Crash ly t ics Ċ import Ġcom . ph ic dy . my c uration . ad vertisement . Ad Provider Ċ import Ġcom . ph ic dy . my c uration . data . preference . Preference Helper Ċ import Ġcom . ph ic dy . my c uration . data . repository . R ss Repository Ċ import Ġcom . ph ic dy . my c uration . domain . alarm . Alarm Manager Task Manager Ċ import Ġcom . ph ic dy . my c uration . rss . Icon Fetch Worker Ċ import Ġcom . ph ic dy . my c uration . tracker . Tracker Helper Ċ import Ġcom . ph ic dy . my c uration . util . File Util Ċ import Ġcom . ph ic dy . my c uration . util . log . Tim ber Tree Ċ import Ġdagger . h ilt . android . H ilt Android App Ċ import Ġkotlinx . coroutines . Coroutine Scope Ċ import Ġkotlinx . coroutines . Supervisor Job Ċ import Ġtim ber . log . Tim ber Ċ import Ġjava . io . File Ċ import Ġjava . util . concurrent . TimeUnit Ċ import Ġjavax . inject . Inject ĊĊ Ċ @ H ilt Android App Ċ class ĠMy Application Ġ: ĠApplication () Ġ{ ĊĊĠĠĠ Ġval Ġapplication Scope Ġ= ĠCor outine Scope ( Supervisor Job ()) ĊĊĠĠĠ Ġ// ĠTo Ġenable Ġdebug Ġlogging Ġuse : Ġa db Ġshell Ġse tp rop Ġlog . tag . G Av 4 ĠDEBUG ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠsetUp ( context : ĠContext ): ĠFirebase Analytics Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠFirebase Analytics . getInstance ( context ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġad Provider : ĠAd Provider ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġr ss Repository : ĠR ss Repository ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġtim ber Tree : ĠTim ber Tree ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . plant ( tim ber Tree ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSte tho . initialize ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSte tho . new Initializer Builder ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. enable Dump app ( St eth o . default Dump er Plugins Provider ( this )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. enable WebKit Inspector ( St eth o . default Inspector Modules Provider ( this )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠFirebase Crash ly t ics . getInstance (). set Crash ly t ics Collection Enabled (! Build Config . DEBUG ) ĊĊĠĠĠĠĠĠĠ ĠPreference Helper . setUp ( this ) ĊĊĠĠĠĠĠĠĠ ĠTracker Helper . set Tracker ( setUp ( this )) ĊĊĠĠĠĠĠĠĠ Ġ// ĠFor Ġold Ġversion Ġunder Ġ 1 . 6 . 0 ĊĠĠĠĠĠĠĠ ĠFile Util . setUp App Path ( this ) ĊĠĠĠĠĠĠĠ ĠFile ( File Util . icon Save Folder ()). let Ġ{ Ġdir Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( dir . exists () Ġ&& Ġdir . isDirectory ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdir . list Files ()?. forEach Ġ{ Ġicon Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġicon . delete () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdir . delete () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠAlarm Manager Task Manager ( this ). set Fix Un read Count Alarm () ĊĠĠĠĠĠĠĠ ĠWork Manager . initialize ( this , ĠConfiguration . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Worker Factory ( Default Worker Factory ( rss Repository )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠ Ġval Ġsave Request Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPeriod ic Work RequestBuilder < Icon Fetch Worker >( 1 , ĠTimeUnit . DAYS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ ĠWork Manager . getInstance ( this ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcancel All Work () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenqueue ( save Request ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġad Provider . init ( this ) ĊĠĠĠ Ġ} Ċ } Ċ