package Ġio . kor ost ens ky i . che st nut . domain . inter actor . impl Ċ Ċ import Ġio . kor ost ens ky i . che st nut . domain . inter actor . Movie Interactor Ċ import Ġio . kor ost ens ky i . che st nut . domain . model . Movie Ċ import Ġio . kor ost ens ky i . che st nut . domain . model . Movie Details Ċ import Ġio . kor ost ens ky i . che st nut . domain . model . Movie Page Ċ import Ġio . kor ost ens ky i . che st nut . domain . repository . Movie Repository Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠMovie Interactor Impl Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġrepository : ĠMovie Repository Ċ ) Ġ: ĠMovie Interactor Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġfavorite Movies Flow : ĠFlow < List < Int >> Ġ= Ġrepository . favorite Movies Flow ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġretrieve Pop ular Movies ( page : ĠInt ): ĠMovie Page Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository . retrieve Pop ular Movies ( page ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġretrieve Movie Info ( id : ĠInt ): ĠMovie Details Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository . retrieve Movie Info ( id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġretrieve Movies ById s ( ids : ĠList < Int >): ĠList < Movie > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository . retrieve Movies ById s ( ids ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun ĠaddTo F avorites ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . addTo F avorites ( id ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġremove From F avorites ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . remove From F avorites ( id ) ĊĠĠĠ Ġ} Ċ } Ċ