package Ġart . com . re vol ut test app . presentation . money _ converter Ċ Ċ import Ġart . com . re vol ut test app . R Ċ import Ġart . com . re vol ut test app . domain . model . Currency Type Ċ import Ġart . com . re vol ut test app . domain . model . Money Ċ import Ġart . com . re vol ut test app . presentation . money _ converter . list . Converted Money Item Ċ import Ġart . com . re vol ut test app . presentation . shared . Currency Resources Provider Ċ import Ġart . com . re vol ut test app . shared . Resources Provider Ċ Ċ class ĠMoney Converter ViewModel Data Factory ( private Ġval Ġcurrency Resources Provider : ĠCurrency Resources Provider , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġresources Provider : ĠResources Provider Ċ ) Ġ{ ĊĊĠĠĠ Ġfun Ġcreate Converted Money ItemList ( money List : ĠList < Money >): ĠList < Converted Money Item > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconverted Money List Ġ= Ġmutable ListOf < Converted Money Item >() ĊĠĠĠĠĠĠĠ Ġmoney List ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconverted Money List . add ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConvert ed Money Item ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrency Name Ġ= Ġcurrency Resources Provider . getC urrency Name ( it . currency Type . value ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrency Type Ġ= Ġit . currency Type . value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrency Icon Ġ= Ġcurrency Resources Provider . getC urrency Icon Url ( it . currency Type . value ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġamount Ġ= Ġit . amount ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġconverted Money List ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate Base Money ( currency Type : ĠCurrency Type ): ĠBase Money Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBase Money ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrency Name Ġ= Ġcurrency Resources Provider . getC urrency Name ( currency Type . value ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrency Type Ġ= Ġcurrency Type . value , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrency Icon Ġ= Ġcurrency Resources Provider . getC urrency Icon Url ( currency Type . value ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate Connection ErrorMessage (): ĠString { ĊĠĠĠĠĠĠĠ Ġreturn Ġresources Provider . getString ( R . string . internet _ connection _ error ) ĊĠĠĠ Ġ} Ċ Ċ }