package Ġio . e ug enet he dev . ta ig am obile . ui . screens . team Ċ Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġio . e ug enet he dev . ta ig am obile . state . Session Ċ import Ġio . e ug enet he dev . ta ig am obile . Ta iga App Ċ import Ġio . e ug enet he dev . ta ig am obile . d agger . App Component Ċ import Ġio . e ug enet he dev . ta ig am obile . domain . entities . Team Member Ċ import Ġio . e ug enet he dev . ta ig am obile . domain . repositories . I Users Repository Ċ import Ġio . e ug enet he dev . ta ig am obile . ui . utils . Mutable Result Flow Ċ import Ġio . e ug enet he dev . ta ig am obile . ui . utils . Nothing Result Ċ import Ġio . e ug enet he dev . ta ig am obile . ui . utils . load Or Error Ċ import Ġkotlinx . coroutines . flow . launch In Ċ import Ġkotlinx . coroutines . flow . on Each Ċ import Ġkotlinx . coroutines . launch Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠTeam ViewModel ( app Component : ĠApp Component Ġ= ĠTa iga App . app Component ) Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġ@ Inject Ġlateinit Ġvar Ġusers Repository : ĠI Users Repository ĊĠĠĠ Ġ@ Inject Ġlateinit Ġvar Ġsession : ĠSession ĊĊĠĠĠ Ġval ĠprojectName Ġby Ġlazy Ġ{ Ġsession . current ProjectName Ġ} ĊĠĠĠ Ġval Ġteam Ġ= ĠMutable Result Flow < List < Team Member > ?> () ĊĊĠĠĠ Ġprivate Ġvar Ġshould Reload Ġ= Ġtrue ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġapp Component . inject ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Open () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! should Reload ) Ġreturn ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġteam . load Or Error Ġ{ Ġusers Repository . get Team () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġshould Reload Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġsession . current ProjectId . on Each Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġteam . value Ġ= ĠNothing Result () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġshould Reload Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ}. launch In ( viewModel Scope ) ĊĠĠĠ Ġ} Ċ } Ċ