package Ġcom . los ers . news . di . module Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroidx . room . Room Ċ import Ġandroid . content . Context Ċ import Ġcom . los ers . news . Build Config Ċ import Ġcom . los ers . news . data . network . Api Header Ċ import Ġcom . los ers . news . data . network . Api Helper Ċ import Ġcom . los ers . news . data . network . App Api Helper Ċ import Ġcom . los ers . news . data . preferences . App Preference Helper Ċ import Ġcom . los ers . news . data . preferences . Preference Helper Ċ import Ġcom . los ers . news . util . App Constants . APP _ DB _ NAME Ċ import Ġcom . los ers . news . util . App Constants . PRE F _ NAME Ċ Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġio . reactivex . dis pos ables . Composite Disposable Ċ import Ġjavax . inject . Singleton ĊĊ Ċ @ Module Ċ class ĠApp Module Ġ{ ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġinternal Ġfun Ġprovide Context ( application : ĠApplication ): ĠContext Ġ= Ġapplication ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġinternal Ġfun Ġprovide App Database ( context : ĠContext ): Ġcom . los ers . news . data . database . App Database Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRoom . database Builder ( context , Ġcom . los ers . news . data . database . App Database :: class . java , ĠAPP _ DB _ NAME ). allow MainThread Queries (). build () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ com . los ers . news . di . ApiKey Info ĊĠĠĠ Ġinternal Ġfun Ġprovide ApiKey (): ĠString Ġ= ĠBuild Config . API _ KEY ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ com . los ers . news . di . Preference Info ĊĠĠĠ Ġinternal Ġfun Ġprovide pref FileName (): ĠString Ġ= ĠP REF _ NAME ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġinternal Ġfun Ġprovide Pref Helper ( app Preference Helper : ĠApp Preference Helper ): ĠPreference Helper Ġ= Ġapp Preference Helper ĊĊĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġinternal Ġfun Ġprovide Api Helper ( app Api Helper : ĠApp Api Helper ): ĠApi Helper Ġ= Ġapp Api Helper ĊĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġ@ Singleton ĊĠĠĠ Ġinternal Ġfun Ġprovide New Repo Helper ( app Database : Ġcom . los ers . news . data . database . App Database ): Ġcom . los ers . news . data . database . repository . options . News Repo Ġ= Ġcom . los ers . news . data . database . repository . options . News Repository ( app Database . news Dao ()) ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġinternal Ġfun Ġprovide Composite Disposable (): ĠComposite Disposable Ġ= ĠComposite Disposable () ĊĊĠĠĠ Ġ@ Provides ĊĠĠĠ Ġinternal Ġfun Ġprovide Scheduler Provider (): Ġcom . los ers . news . util . Scheduler Provider Ġ= Ġcom . los ers . news . util . Scheduler Provider () ĊĊ Ċ }