/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 9 . ĠDesign ed Ġ& Ġdeveloped Ġby ĠQu ab yn ah ĠC odel abs ( c ). ĠFor Ġthe Ġlove Ġof ĠAndroid Ġdevelopment . Ċ Ġ*/ Ċ Ċ package Ġio . code labs . github repo . shared . core Ċ Ċ import Ġcom . google . firebase . auth . Firebase Auth Ċ import Ġio . code labs . github repo . shared . core . prefs . App SharedPreferences Ċ import Ġio . code labs . github repo . shared . datasource . local . Repo Database Ċ import Ġio . code labs . github repo . shared . datasource . remote . Repo API Ċ import Ġio . code labs . github repo . shared . repository . GitHub Repository Ċ import Ġorg . k oin . android . ext . k oin . android Context Ċ import Ġorg . k oin . dsl . module Ċ Ċ fun Ġload Modules () Ġ= Ġmutable ListOf ( firebase Module , Ġnetwork Module , Ġprefs Module ) Ċ Ċ private Ġval Ġfirebase Module Ġ= Ġmodule Ġ{ ĊĠĠĠ Ġsingle Ġ{ ĠFirebase Auth . getInstance () Ġ} Ċ } Ċ Ċ private Ġval Ġnetwork Module Ġ= Ġmodule Ġ{ ĊĠĠĠ Ġ// ĠRemote Ġdatasource ĊĠĠĠ Ġsingle Ġ{ ĠRepo API . create Service ( android Context ()) Ġ} ĊĠĠĠ Ġsingle Ġ{ ĠRepo API . create Auth Service ( android Context ()) Ġ} ĊĊĠĠĠ Ġ// ĠLocal Ġdatasource ĊĠĠĠ Ġsingle Ġ{ ĠRepo Database . get ( android Context ()) Ġ} ĊĠĠĠ Ġsingle Ġ{ Ġget < Repo Database >(). owner Dao () Ġ} ĊĠĠĠ Ġsingle Ġ{ Ġget < Repo Database >(). repo Dao () Ġ} ĊĊĠĠĠ Ġ// ĠRe positories ĊĠĠĠ Ġsingle Ġ{ ĠGitHub Repository ( get (), Ġget ()) Ġ} Ċ } Ċ Ċ private Ġval Ġprefs Module Ġ= Ġmodule Ġ{ ĊĠĠĠ Ġsingle Ġ{ ĠApp SharedPreferences . get ( android Context ()) Ġ} Ċ }