package Ġcom . sky . conversion . use case Ċ Ċ import Ġandroidx . test . espress o . id ling . Count ing Id ling Resource Ċ import Ġcom . sky . conversion . data . source . call Latest Rates Ċ import Ġcom . sky . conversion . data . source . call Symbols Ċ import Ġcom . sky . conversion . data . models .* Ċ import Ġcom . sky . conversion . data . source . local . Preference Source Ċ import Ġcom . sky . conversion . data . source . remote . Remote Service Ċ Ċ class ĠCurrency UseCase ( ĊĠĠĠ Ġprivate Ġval Ġpref : ĠPreference Source , ĊĠĠĠ Ġprivate Ġval Ġremote Service : ĠRemote Service , ĊĠĠĠ Ġprivate Ġval Ġid ling Res : ĠCount ing Id ling Resource ? Ġ= Ġnull , Ċ ) Ġ{ ĊĠĠĠ Ġvar Ġsymbols Response : ĠS ymbols Response Ġ= ĠS ymbols Idle State () ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĠĠĠ Ġvar Ġrates Response : ĠR ates Response Ġ= ĠR ates Idle State () ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġsuspend Ġfun Ġget Symbols Response (): ĠS ymbols Response Ġ{ ĊĠĠĠĠĠĠĠ Ġsymbols Response Ġ= Ġcall Symbols ( pref , Ġremote Service , Ġid ling Res ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsymbols Response ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġget Latest Rates ( base Currency : ĠString ): ĠR ates Response Ġ{ ĊĠĠĠĠĠĠĠ Ġrates Response Ġ= Ġcall Latest Rates ( pref , Ġremote Service , Ġid ling Res , Ġbase Currency ) ĊĠĠĠĠĠĠĠ Ġreturn Ġrates Response ĊĠĠĠ Ġ} Ċ }