package Ġcom . sensor fields . horizon . android . domain Ċ Ċ import Ġcom . sensor fields . horizon . android . domain . data . dto . to Model Ċ import Ġcom . sensor fields . horizon . android . domain . data . local . License Dao Ċ import Ġcom . sensor fields . horizon . android . domain . data . remote . License Api Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . map Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠLicense Repository Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġlicense Dao : ĠLicense Dao , ĊĠĠĠ Ġprivate Ġval Ġlicense Api : ĠLicense Api Ċ ) Ġ{ ĊĠĠĠ Ġfun Ġobserve License s (): ĠFlow < List < License >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlicense Dao . observe License s (). map Ġ{ Ġlicenses Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses . map Ġ{ Ġlicense Ġ-> Ġlicense . to Model () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġobserve License ( key : ĠString ): ĠFlow < License > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlicense Dao . observe License ( key ). map Ġ{ Ġlicense Ġ-> Ġlicense . to Model () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġsync License s () Ġ{ ĊĠĠĠĠĠĠĠ Ġlicense Dao . replace License s ( license Api . get License s ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġsync License ( key : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlicense Dao . update License ( license Api . get License ( key )) ĊĠĠĠ Ġ} Ċ } Ċ