package Ġcom . fer dian . submission made 2 . home Ċ Ċ import Ġandroidx . lifecycle .* Ċ import Ġcom . fer dian . core . data . Resource Ċ import Ġcom . fer dian . core . domain . model . User Ċ import Ġcom . fer dian . core . domain . use case . User UseCase Ċ Ċ class ĠHome ViewModel ( user UseCase : ĠUser UseCase ) Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġusername : ĠMutable LiveData < String > Ġ= ĠMutable LiveData () ĊĊĠĠĠ Ġfun Ġset Search ( query : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( username . value Ġ== Ġquery ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġusername . value Ġ= Ġquery ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// val Ġusers Ġ= Ġuser UseCase . getAll Users ( query ). as LiveData () ĊĠĠĠ Ġval Ġusers : ĠLive Data < Resource < List < User >>> Ġ= ĠTransform ations ĊĠĠĠĠĠĠĠ Ġ. switch Map ( username ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser UseCase . getAll Users ( it ). as LiveData () ĊĠĠĠĠĠĠĠ Ġ} Ċ }