package Ġfr . ek ito . my weather app . di Ċ Ċ import Ġfr . ek ito . my weather app . domain . entity . User Session Ċ import Ġfr . ek ito . my weather app . domain . repository . Daily Forecast Repository Ċ import Ġfr . ek ito . my weather app . domain . repository . Daily Forecast Repository Impl Ċ import Ġfr . ek ito . my weather app . util . coroutines . Application Scheduler Provider Ċ import Ġfr . ek ito . my weather app . util . coroutines . Scheduler Provider Ċ import Ġfr . ek ito . my weather app . view . detail . Detail ViewModel Ċ import Ġfr . ek ito . my weather app . view . splash . Splash ViewModel Ċ import Ġfr . ek ito . my weather app . view . weather . Weather ViewModel Ċ import Ġorg . k oin . android . view model . ext . k oin . viewModel Ċ import Ġorg . k oin . dsl . module . module Ċ Ċ /** Ċ Ġ* ĠApp ĠComponents Ċ Ġ*/ Ċ val Ġweather App Module Ġ= Ġmodule Ġ{ ĊĠĠĠ Ġ// ĠSpl ash ViewModel Ġfor ĠSpl ash ĠView ĊĠĠĠ ĠviewModel Ġ{ ĠSpl ash ViewModel ( get (), Ġget ()) Ġ} ĊĊĠĠĠ ĠviewModel Ġ{ ĠWeather ViewModel ( get (), Ġget (), Ġget ()) Ġ} ĊĊĠĠĠ ĠviewModel Ġ{ Ġ( id : ĠString ) Ġ-> ĠDetail ViewModel ( id , Ġget (), Ġget ()) Ġ} ĊĊĠĠĠ Ġscope (" session ") Ġ{ ĠUser Session () Ġ} ĊĊĠĠĠ Ġ// ĠWeather ĠData ĠRepository ĊĠĠĠ Ġsingle < Daily Forecast Repository >( create On Start Ġ= Ġtrue ) Ġ{ ĠDaily Forecast Repository Impl ( get ()) Ġ} ĊĠĠĠ Ġ// ĠRx ĠS chedulers ĊĠĠĠ Ġsingle < Scheduler Provider >( create On Start Ġ= Ġtrue ) Ġ{ ĠApplication Scheduler Provider () Ġ} Ċ } Ċ Ċ // ĠG ather Ġall Ġapp Ġmodules Ċ val Ġonline Weather App Ġ= ĠlistOf ( weather App Module , Ġremote DataSource Module ) Ċ val Ġoffline Weather App Ġ= ĠlistOf ( weather App Module , Ġlocal Android DataSource Module ) Ċ val Ġroom Weather App Ġ= ĠlistOf ( weather App Module , Ġlocal Android DataSource Module , Ġroom DataSource Module )