package Ġio . github . well ing ton cost a . curso android con gress ode ti . resources . repository Ċ Ċ import Ġio . github . well ing ton cost a . curso android con gress ode ti . domain . entity . Cont ato Ċ import Ġio . github . well ing ton cost a . curso android con gress ode ti . domain . repository . Cont ato Repository Ċ import Ġio . github . well ing ton cost a . curso android con gress ode ti . resources . database . dao . Cont ato F avor ito Dao Ċ import Ġio . github . well ing ton cost a . curso android con gress ode ti . resources . database . entity . to Domain Ċ import Ġio . github . well ing ton cost a . curso android con gress ode ti . resources . database . entity . to Entity Ċ import Ġio . github . well ing ton cost a . curso android con gress ode ti . resources . extension . run Async Ċ import Ġio . github . well ing ton cost a . curso android con gress ode ti . resources . network . Cont ato Api Ċ import Ġio . github . well ing ton cost a . curso android con gress ode ti . resources . network . entity . to Domain Ċ Ċ class ĠCont ato Repository Impl ( ĊĠĠĠ Ġprivate Ġval Ġapi : ĠCont ato Api , ĊĠĠĠ Ġprivate Ġval Ġdao : ĠCont ato F avor ito Dao Ċ ) Ġ: ĠCont ato Repository Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġlist ar Todos (): ĠList < Cont ato > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrun Async Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapi . list ar Todos (). map Ġ{ Ġit . to Domain () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlist ar F avor itos (): ĠList < Cont ato > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrun Async Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdao . list ar Todos (). map Ġ{ Ġit . to Domain () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbus car Por Id ( cont ato Id : ĠInt ): ĠCont ato ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrun Async Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġapi . bus car Por Id ( cont ato Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( response Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfavor ito Ġ= Ġdao . bus car Por Cont ato Id ( cont ato Id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse . to Domain (). copy ( f avor ito Id Ġ= Ġfavor ito ?. id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfavor itar ( cont ato : ĠCont ato ): ĠCont ato Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrun Async Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfavor ito Ġ= Ġdao . bus car Por Cont ato Id ( cont ato . id ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( f avor ito Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfavor ito Id Ġ= Ġdao . inser ir ( cont ato . to Entity ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcont ato . copy ( f avor ito Id Ġ= Ġfavor ito Id . toInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdao . de let ar ( cont ato . to Entity ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcont ato . copy ( f avor ito Id Ġ= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ