package Ġcom . fight pan dem ics Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . content . Context Ċ import Ġcom . fight pan dem ics . d agger . App Component Ċ import Ġcom . fight pan dem ics . d agger . Core Component Ċ import Ġcom . fight pan dem ics . d agger . Core Component Provider Ċ import Ġcom . fight pan dem ics . d agger . D agger App Component Ċ import Ġcom . fight pan dem ics . d agger . D agger Core Component Ċ import Ġcom . fight pan dem ics . d agger . module . Context Module Ċ import Ġcom . fight pan dem ics . d agger . module . SharedPreferences Module Ċ import Ġtim ber . log . Tim ber Ċ Ċ open Ġclass ĠF ight Pan dem ics App Ġ: ĠApplication (), ĠCore Component Provider Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Build Config . DEBUG ) ĠTim ber . plant ( Tim ber . Debug Tree ()) ĊĠĠĠĠĠĠĠ ĠTim ber . w (" Creating Ġour ĠApplication ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠInstance Ġof Ġthe ĠApp Component Ġthat Ġwill Ġbe Ġused Ġby Ġall Ġthe ĠActiv ities Ġin Ġthe Ġproject ĊĠĠĠ Ġval Ġapp Component : ĠApp Component Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġinitialize Component () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinitialize Component (): ĠApp Component Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠCreates Ġan Ġinstance Ġof ĠApp Component Ġusing Ġits ĠFactory Ġconstructor ĊĠĠĠĠĠĠĠ Ġ// ĠWe Ġpass Ġthe Ġapplication Context Ġthat Ġwill Ġbe Ġused Ġas ĠContext Ġin Ġthe Ġgraph ĊĠĠĠĠĠĠĠ Ġreturn ĠD agger App Component ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. factory () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create ( application Context , Ġprovide Core Component ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġprovide Core Component (): ĠCore Component Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠD agger Core Component ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. factory () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. create ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContext Module ( this ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSharedPreferences Module ( this , Ġ" name ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ// Ġtodo Ġ 3 Ġ- Ġmake Ġname Ġa Ġconst ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġapp Component ( context : ĠContext ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( context . application Context Ġas ĠF ight Pan dem ics App ). app Component ĊĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġcore Component ( context : ĠContext ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( context . application Context Ġas ĠF ight Pan dem ics App ). provide Core Component () ĊĠĠĠ Ġ} Ċ } Ċ