package Ġcom . enes k ay ik lik . wall up . feature _ home . domain . use _ case Ċ Ċ import Ġcom . enes k ay ik lik . wall up . feature _ home . domain . repository . Home Repository Ċ import Ġcom . enes k ay ik lik . wall up . utils . network . Resource Ċ import Ġcom . enes k ay ik lik . wall up . utils . transfer _ extensions . to UI Model Ċ import Ġkotlinx . coroutines . flow . flow Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠHome UseCase Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġrepository : ĠHome Repository Ċ ) Ġ{ ĊĠĠĠ Ġsuspend Ġfun ĠgetRandom Photos () Ġ= Ġflow Ġ{ ĊĠĠĠĠĠĠĠ Ġemit ( Resource . Loading ()) ĊĠĠĠĠĠĠĠ Ġwhen Ġ( val Ġdata Ġ= Ġrepository . getRandom Photos ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResource . Error Ġ-> Ġemit ( Resource . Error ( data . message )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResource . Loading Ġ-> Ġemit ( Resource . Loading ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResource . Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Resource . Success ( data . data . map Ġ{ Ġit . to UI Model () Ġ})) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemit ( Resource . Error (" An Ġunexpected Ġerror Ġoccurred ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġget Color List () Ġ= Ġflow Ġ{ ĊĠĠĠĠĠĠĠ Ġemit ( repository . getColor List (). sh uffled ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġget Category List () Ġ= Ġflow Ġ{ ĊĠĠĠĠĠĠĠ Ġemit ( repository . get Category List (). sh uffled ()) ĊĠĠĠ Ġ} Ċ }