package Ġcom . dec ath lon . app . data Ċ Ċ import Ġcom . dec ath lon . app . data . remote . Remote DataSource Ċ import Ġcom . dec ath lon . app . model . Base ApiResponse Ċ import Ġcom . dec ath lon . app . model . Product ListResponse Ċ import Ġcom . dec ath lon . app . utils . Network Result Ċ import Ġdagger . h ilt . android . scopes . Activity Ret ained Scoped Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . flow Ċ import Ġkotlinx . coroutines . flow . flow On Ċ import Ġjavax . inject . Inject ĊĊ Ċ @ Activity Ret ained Scoped Ċ class ĠRepository Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġremote DataSource : ĠRemote DataSource Ċ ) Ġ: ĠBase ApiResponse () Ġ{ ĊĊĠĠĠ Ġsuspend Ġfun Ġget Product List (): ĠFlow < Network Result < Product ListResponse >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġflow < Network Result < Product ListResponse >> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( safe Api Call Ġ{ Ġremote DataSource . get Product List () Ġ}) ĊĠĠĠĠĠĠĠ Ġ}. flow On ( Dispatch ers . IO ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ