@ file : Suppress (" unused ") Ċ Ċ package Ġio . pet ros . movies . app Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . os . Build Ċ import Ġandroid . os . Strict Mode Ċ import Ġandroidx . lifecycle . Lifecycle Ċ import Ġandroidx . lifecycle . Lifecycle Event Observer Ċ import Ġandroidx . lifecycle . Lifecycle Owner Ċ import Ġandroidx . lifecycle . Process Lifecycle Owner Ċ import Ġio . pet ros . movies . Build Config Ċ import Ġio . pet ros . movies . R Ċ import Ġio . pet ros . movies . android _ utils . network . Network Live Event Ċ import Ġio . pet ros . movies . app . di . k oin . app Module Ċ import Ġio . pet ros . movies . data . di . k oin . data Module Ċ import Ġio . pet ros . movies . domain . di . k oin . domain Module Ċ import Ġorg . k oin . android . ext . k oin . android Context Ċ import Ġorg . k oin . android . ext . k oin . android Logger Ċ import Ġorg . k oin . core . context . start K oin Ċ import Ġorg . k oin . core . logger . Level Ċ import Ġtim ber . log . Tim ber Ċ Ċ @ Suppress (" Too Many Functions ") Ċ open Ġclass ĠApp Ġ: ĠApplication (), ĊĠĠĠ ĠLifecycle Event Observer Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĠĠĠĠĠĠĠ Ġinit K oin () ĊĠĠĠĠĠĠĠ Ġinit Logging () ĊĠĠĠĠĠĠĠ Ġinit Strict Mode () ĊĠĠĠĠĠĠĠ Ġinit Lifecycle Observer () ĊĠĠĠĠĠĠĠ Ġinit Network Connectivity () ĊĠĠĠĠĠĠĠ ĠTim ber . i ("${ getString ( R . string . appName )} Ġapp Ġcreated .") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" Forbidden Comment ") ĊĠĠĠ Ġprivate Ġfun Ġinit K oin () Ġ{ ĊĠĠĠĠĠĠĠ Ġstart K oin Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Logger ( Level . ERROR ) Ġ// ĠFIXME : ĠCheck Ġagain Ġwith Ġa Ġnewer Ġversion Ġof ĠK oin Ġ( after Ġ 3 . 1 . 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġandroid Context ( this @ App ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmodules ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġapp Module () Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata Module ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBuild Config . DEBUG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠbaseUrl (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBuild Config . THE MO VI ED B _ API _ KEY ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdomain Module () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun ĠbaseUrl () Ġ= ĠTHE MO VI ED B _ URL ĊĊĠĠĠ Ġprivate Ġfun Ġinit Logging () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . plant ( Tim ber . Debug Tree ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . v (" Logging Ġinitial ised .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Strict Mode () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Thread Policy To Strict Mode () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Vm Policy To Strict Mode () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . v (" Strict Ġmode Ġinitial ised .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Thread Policy To Strict Mode () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstrict Mode Builder Ġ= ĠStrict Mode . Thread Policy . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. detect Disk Reads () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. detect Disk Writes () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. detect Network () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. detect Custom Slow Calls () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. penalty Log () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. penalty Flash Screen () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. penalty Dialog () ĊĠĠĠĠĠĠĠ Ġadd Android M Thread Policy ( strict Mode Builder ) ĊĠĠĠĠĠĠĠ Ġadd Android O Thread Policy ( strict Mode Builder ) ĊĠĠĠĠĠĠĠ ĠStrict Mode . set Thread Policy ( strict Mode Builder . build ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Android M Thread Policy ( strict Mode Builder : ĠStrict Mode . Thread Policy . Builder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstrict Mode Builder . detect Resource Mis matches () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Android O Thread Policy ( strict Mode Builder : ĠStrict Mode . Thread Policy . Builder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . O ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstrict Mode Builder . detect Un buffered Io () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Vm Policy To Strict Mode () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstrict Mode Builder Ġ= ĠStrict Mode . Vm Policy . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. detect Activity Le aks () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. detect File Uri Exposure () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. detect Le aked C losable Objects () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. detect Le aked Sql Lite Objects () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. detect Le aked Registration Objects () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. penalty Log () ĊĠĠĠĠĠĠĠ Ġadd Android O Vm Policy ( strict Mode Builder ) ĊĠĠĠĠĠĠĠ ĠStrict Mode . set Vm Policy ( strict Mode Builder . build ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Android O Vm Policy ( strict Mode Builder : ĠStrict Mode . Vm Policy . Builder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . O ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstrict Mode Builder . detect Cle art ext Network () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. detect Content Uri Without Permission () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Lifecycle Observer () Ġ{ ĊĠĠĠĠĠĠĠ ĠProcess Lifecycle Owner . get (). lifecycle . add Observer ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Network Connectivity () Ġ{ ĊĠĠĠĠĠĠĠ ĠNetwork Live Event . init ( application Context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/* ĠL IF EC Y CLE Ġ*/ ĊĊĠĠĠ Ġoverride Ġfun Ġon StateChanged ( source : ĠLifecycle Owner , Ġevent : ĠLifecycle . Event ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( event ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLifecycle . Event . ON _ CREATE Ġ-> ĠTim ber . v (" Created .") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLifecycle . Event . ON _ START Ġ-> ĠTim ber . v (" Started . Ġ[ In ĠFore ground ]") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLifecycle . Event . ON _ RE SU ME Ġ-> ĠTim ber . v (" Res umed .") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLifecycle . Event . ON _ PAUSE Ġ-> ĠTim ber . v (" Paused .") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLifecycle . Event . ON _ STOP Ġ-> ĠTim ber . v (" Stopped . Ġ[ In ĠBackground ]") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLifecycle . Event . ON _ DESTROY Ġ-> ĠTim ber . v (" Destroyed .") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLifecycle . Event . ON _ ANY Ġ-> ĠTim ber . v (" Any !") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠTHE MO VI ED B _ URL Ġ= Ġ" https :// api . the mov ied b . org /" ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ