package Ġcom . android . anonymous _ 0 2 _ 2 2 . domain . user case Ċ Ċ import Ġcom . android . anonymous _ 0 2 _ 2 2 . domain . entities . Car Info Ċ import Ġcom . android . anonymous _ 0 2 _ 2 2 . domain . entities . Country Info Ċ import Ġcom . android . anonymous _ 0 2 _ 2 2 . domain . entities . Git Profile Ċ import Ġcom . android . anonymous _ 0 2 _ 2 2 . domain . mapper . Country Info Mapper Ċ import Ġcom . android . anonymous _ 0 2 _ 2 2 . domain . mapper . Git Profile Mapper Ċ import Ġcom . android . anonymous _ 0 2 _ 2 2 . domain . repository . Local Repository Ċ import Ġcom . android . anonymous _ 0 2 _ 2 2 . domain . repository . Remote Repository Ċ import Ġcom . android . anonymous _ 0 2 _ 2 2 . utility . Constant Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠCountry Interaction Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġremote Repository : ĠRemote Repository , ĊĠĠĠ Ġprivate Ġval Ġlocal Repository : ĠLocal Repository , ĊĠĠĠ Ġprivate Ġval Ġmapper : ĠCountry Info Mapper Ċ ) Ġ: ĠCountry UseCase Ġ{ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġfetch Countries (): ĠList < Country Info > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmodel Ġ= Ġlocal Repository . fetch Countries () ĊĠĠĠĠĠĠĠ Ġreturn Ġmapper . to Domain List ( model ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġfetch Car Info ( country Code : ĠString ): ĠCar Info Ġ{ ĊĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġremote Repository . fetch Country Car Info ( Constant . CAR _ INFO _ MOCK _ API ) ĊĠĠĠĠĠĠ Ġreturn ĠCar Info (" ",""," ") ĊĠĠĠ Ġ} Ċ Ċ }