package Ġcom . example . ex coroutines . di Ċ Ċ import Ġcom . example . ex coroutines . data . api . flower . Flow er Api Ċ import Ġcom . example . ex coroutines . data . repository . flower . Flow er Repository Impl Ċ import Ġcom . example . ex coroutines . data . repository . flower . Remote Flow er DataSource Ċ import Ġcom . example . ex coroutines . domain . repositories . Flow er Repository Ċ import Ġcom . example . ex coroutines . domain . use cases . flower . Get Flow er List UseCase Ċ import Ġcom . example . ex coroutines . presentation . flower list . Flow er List ViewModel Ċ import Ġcom . example . shared . domain . exec uter . Default Dispatcher Provider Ċ import Ġorg . k oin . android . view model . ext . k oin . viewModel Ċ import Ġorg . k oin . dsl . module . module Ċ import Ġretrofit 2 . Ret rofit Ċ Ċ val Ġex Cor outines Module Ġ= Ġmodule Ġ{ ĊĠĠĠ Ġsingle Ġ{ Ġ( get () Ġas ĠRet rofit ). create ( Flow er Api :: class . java ) Ġ} ĊĠĠĠ Ġsingle Ġ{ ĠRemote Flow er DataSource ( api Ġ= Ġget ()) Ġ} ĊĠĠĠ Ġsingle < Flow er Repository > Ġ{ ĠF lower Repository Impl ( remote Flow er DataSource Ġ= Ġget ()) Ġ} ĊĊĠĠĠ Ġfactory Ġ{ ĊĠĠĠĠĠĠĠ ĠGet Flow er List UseCase ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcoroutine Context Ġ= ĠDefault Dispatcher Provider (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġf lower Repository Ġ= Ġget () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ ĠviewModel Ġ{ ĊĠĠĠĠĠĠĠ ĠF lower List ViewModel ( get Flow er List UseCase Ġ= Ġget ()) ĊĠĠĠ Ġ} Ċ }