package Ġcom . ren ator amos . n irv an ac od ing task . infrastructure . networking . services Ċ Ċ import Ġcom . ren ator amos . n irv an ac od ing task . infrastructure . inter actors . user . I User Interactor Ċ import Ġcom . ren ator amos . n irv an ac od ing task . infrastructure . model . UserData Ċ import Ġcom . ren ator amos . n irv an ac od ing task . infrastructure . model . UserDetails Data Ċ import Ġcom . ren ator amos . n irv an ac od ing task . infrastructure . networking . Network Service Ċ import Ġcom . ren ator amos . n irv an ac od ing task . infrastructure . networking . config . Base Interactor Display able Item Ċ import Ġcom . ren ator amos . n irv an ac od ing task . infrastructure . networking . config . Base Interactor Display able List Ċ import Ġio . reactivex . Flow able Ċ import Ġio . reactivex . Observable Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġio . reactivex . schedul ers . Schedulers Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġren ator amos Ġon Ġ 1 9 . 0 3 . 1 8 . Ċ Ġ*/ Ċ Ċ class ĠUser Interactor ( private Ġval Ġnetwork Service : ĠNetwork Service ): ĠI User Interactor Ġ{ ĊĊĠĠ Ġoverride Ġfun Ġget Users List ( base Interactor Display able List : ĠBase Interactor Display able List ): ĠFlow able < List < UserData >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnetwork Service . get Users () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetUser ById ( id : ĠInt ?, Ġbase Interactor Display able Item : ĠBase Interactor Display able Item ): ĠObservable < UserDetails Data > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġnetwork Service . getUser ById ( id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe On ( Schedulers . io ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠ Ġ} Ċ Ċ }