package Ġcom . H 5 1 9 0 0 1 9 . ibr ah im _ me te han _ bar ut cu . data . datasource . remote Ċ Ċ import Ġcom . H 5 1 9 0 0 1 9 . ibr ah im _ me te han _ bar ut cu . data . model . User Response Ċ import Ġcom . H 5 1 9 0 0 1 9 . ibr ah im _ me te han _ bar ut cu . data . datasource . User DataSource Ċ import Ġcom . H 5 1 9 0 0 1 9 . ibr ah im _ me te han _ bar ut cu . util . Resource Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . flow Ċ Ċ class ĠRemote User DataSource Ġ: ĠUser DataSource Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠgetAll Users (): ĠFlow < Resource < User Response >> Ġ= Ġflow Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Resource . Loading ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĠApi Service . build (). getAll Users () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . is Successful ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse . body ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Resource . Success ( it )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Resource . Error ( e )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }