package Ġcom . pay day bank . android . launcher Ċ Ċ import Ġandroidx . h ilt . lifecycle . ViewModel Inject Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . pay day bank . android . core . base . Base ViewModel Ċ import Ġcom . pay day bank . data . repository . user . UserRepository Ċ import Ġcom . pay day bank . data . repository . user . model . User State Ċ import Ġkotlinx . coroutines . flow . collect Ċ Ċ class ĠLaunch er ViewModel Ġ Ġ@ ViewModel Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġuser Repository : ĠUser Repository Ċ ): Base ViewModel () Ġ{ ĊĊĠĠĠ Ġ// ĠUser Ġstate Ġfor Ġinitial Ġnavigation Ġlogic ĊĠĠĠ Ġprivate Ġval Ġ_ user State Ġ= ĠMutable LiveData < User State >() ĊĠĠĠ Ġval Ġuser State : ĠLive Data < User State > Ġget () Ġ= Ġ_ user State ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠCollect Ġuser Ġstate Ġfrom Ġuser Ġrepository ĊĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser Repository . getUser State (). collect Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ_ user State . post Value ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }