/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 ĠGoogle ĠLLC Ċ Ġ* Ċ Ġ* Ġ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 Ġcom . hyper aware . android . firebase jet pack . k oin Ċ Ċ import Ġcom . google . firebase . auth . Firebase Auth Ċ import Ġcom . google . firebase . database . Firebase Database Ċ import Ġcom . google . firebase . firestore . Firebase Fire store Ċ import Ġcom . hyper aware . android . firebase jet pack . config . App Executors Ċ import Ġcom . hyper aware . android . firebase jet pack . repo . Stock Repository Ċ import Ġcom . hyper aware . android . firebase jet pack . repo . firestore . Fire store Stock Repository Ċ import Ġcom . hyper aware . android . firebase jet pack . repo . r tdb . Realtime Database Stock Repository Ċ import Ġorg . k oin . dsl . module . Module Ċ import Ġorg . k oin . dsl . module . module Ċ Ċ interface ĠRuntime Config Ġ{ ĊĠĠĠ Ġvar Ġstock Repository : ĠStock Repository Ċ } Ċ Ċ class ĠSingleton Runtime Config Ġ: ĠRuntime Config Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinstance Ġ= ĠSingleton Runtime Config () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġvar Ġstock Repository : ĠStock Repository Ġ= Ġfire store Stock Repository Ċ } Ċ Ċ private Ġval Ġfire store Stock Repository Ġby Ġlazy Ġ{ ĠFire store Stock Repository () Ġ} Ċ private Ġval Ġreal time Database Stock Repository Ġby Ġlazy Ġ{ ĠReal time Database Stock Repository () Ġ} Ċ Ċ val Ġapp Module : ĠModule Ġ= Ġmodule Ġ{ ĊĠĠĠ Ġsingle Ġ{ Ġfire store Stock Repository Ġ} ĊĠĠĠ Ġsingle Ġ{ Ġreal time Database Stock Repository Ġ} ĊĠĠĠ Ġsingle Ġ{ ĠSingleton Runtime Config . instance Ġas ĠRuntime Config Ġ} ĊĠĠĠ Ġfactory Ġ{ Ġget < Runtime Config >(). stock Repository Ġ} ĊĠĠĠ Ġsingle Ġ{ ĠApp Executors . instance Ġ} Ċ } Ċ Ċ val Ġfirebase Module : ĠModule Ġ= Ġmodule Ġ{ ĊĠĠĠ Ġsingle Ġ{ ĠFirebase Auth . getInstance () Ġ} ĊĠĠĠ Ġsingle Ġ{ ĠFirebase Fire store . getInstance () Ġ} ĊĠĠĠ Ġsingle Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinstance Ġ= ĠFirebase Database . getInstance () ĊĠĠĠĠĠĠĠ Ġinstance . set Persistence Enabled ( false ) ĊĠĠĠĠĠĠĠ Ġinstance ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġall Modules Ġ= ĠlistOf ( app Module , Ġfirebase Module ) Ċ