package Ġcom . ch ristopher _ el ias . features . movies . di Ċ Ċ import Ġcom . ch ristopher _ el ias . features . movies . data . data _ source . Movies Remote DataSource Ċ import Ġcom . ch ristopher _ el ias . features . movies . data . repository . Movies Repository Impl Ċ import Ġcom . ch ristopher _ el ias . features . movies . data _ source . remote . Movies Remote DataSource Impl Ċ import Ġcom . ch ristopher _ el ias . features . movies . data _ source . remote . ret rofit _ service . Movie Service Ċ import Ġcom . ch ristopher _ el ias . features . movies . domain . Movies Repository Ċ import Ġcom . ch ristopher _ el ias . features . movies . presentation . ui . movies _ list . Movie List ViewModel Ċ import Ġcom . ch ristopher _ el ias . features . movies . presentation . ui . movies _ list . processor . Movie List Processor Holder Ċ import Ġorg . k oin . android x . view model . dsl . viewModel Ċ import Ġorg . k oin . core . qual ifier . named Ċ import Ġorg . k oin . dsl . module Ċ import Ġretrofit 2 . Ret rofit Ċ Ċ /* Ċ Ġ* ĠCreated Ġby ĠCh ristopher ĠE li as Ġon Ġ 2 / 0 5 / 2 0 2 1 Ċ Ġ* Ġch ristopher . mike . 9 6 @ gmail . com Ċ Ġ* Ċ Ġ* ĠLoop ĠIde as Ċ Ġ* ĠL ima , ĠPer u . Ċ Ġ*/ Ċ Ċ val Ġfeature Movies Module Ġ= Ġmodule Ġ{ ĊĊĠĠĠ Ġfactory Ġ{ Ġprovide Movies Service ( ret rofit Ġ= Ġget ()) Ġ} ĊĊĠĠĠ Ġfactory < Movies Remote DataSource > Ġ{ ĊĠĠĠĠĠĠĠ ĠMov ies Remote DataSource Impl ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmiddleware Provider Ġ= Ġget (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġio Dispatcher Ġ= Ġget ( named (" io Dispatcher ")), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġget (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmovie Service Ġ= Ġget () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfactory < Movies Repository > Ġ{ ĠMov ies Repository Impl ( remote DataSource Ġ= Ġget (), Ġmapper Ġ= Ġget ()) Ġ} ĊĊĠĠĠ Ġfactory Ġ{ ĠMovie List Processor Holder ( movies Repository Ġ= Ġget (), Ġmovies Mapper Ġ= Ġget ()) Ġ} ĊĊĠĠĠ ĠviewModel Ġ{ ĠMovie List ViewModel ( action Processor Holder Ġ= Ġget ()) Ġ} Ċ Ċ } Ċ Ċ internal Ġfun Ġprovide Movies Service ( ĊĠĠĠ Ġretrofit : ĠRet rofit Ċ ): ĠMovie Service Ġ= Ġretrofit . create ( Movie Service :: class . java )