package Ġcom . the code . d agger _ h ilt _ mv vm . repository Ċ Ċ import Ġcom . the code . d agger _ h ilt _ mv vm . database . Blog Dao Ċ import Ġcom . the code . d agger _ h ilt _ mv vm . database . Cache Mapper Ċ import Ġcom . the code . d agger _ h ilt _ mv vm . model . Blog Ċ import Ġcom . the code . d agger _ h ilt _ mv vm . network . Blog Api Ċ import Ġcom . the code . d agger _ h ilt _ mv vm . network . Blog Mapper Ċ import Ġcom . the code . d agger _ h ilt _ mv vm . util . Data State Ċ import Ġkotlinx . coroutines . delay Ċ import Ġkotlinx . coroutines . flow . Flow Ċ import Ġkotlinx . coroutines . flow . flow Ċ Ċ class ĠMain Repository Ċ constructor ( ĊĠĠĠ Ġprivate Ġval Ġblog Dao : ĠBlog Dao , ĊĠĠĠ Ġprivate Ġval Ġblog Api : ĠBlog Api , ĊĠĠĠ Ġprivate Ġval Ġcache Mapper : ĠCache Mapper , ĊĠĠĠ Ġprivate Ġval Ġblog Mapper : ĠBlog Mapper Ċ ) Ġ{ ĊĠĠĠ Ġsuspend Ġfun Ġget Blog (): ĠFlow < Data State < List < Blog >>> Ġ= Ġflow Ġ{ ĊĠĠĠĠĠĠĠ Ġemit ( Data State . Loading ) ĊĠĠĠĠĠĠĠ Ġdelay ( 1 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" ----- "); ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnetwork B logs Ġ= Ġblog Api . get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb logs Ġ= Ġblog Mapper . map From Entity List ( network B logs ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( blog Ġin Ġb logs ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( blog ); ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblog Dao . insert ( cache Mapper . map To Entity ( blog )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcached B logs Ġ= Ġblog Dao . get () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Data State . Success ( cache Mapper . map From Entity List ( cached B logs ))) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" ++++++++ ++++ +++ ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Data State . Error ( e )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }