package Ġcom . example . dot aw e ather . ui . weather Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . Transform ations Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . example . dot aw e ather . logic . Repository Ċ Ċ class ĠWeather ViewModel Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlocation LiveData Ġ= ĠMutable LiveData < String >() ĊĊĠĠĠ Ġvar Ġlocation Id Ġ= Ġ"" ĊĊĠĠĠ Ġvar Ġlocation Name Ġ= Ġ"" ĊĊĠĠĠ Ġval Ġweather LiveData Ġ= ĠTransform ations . switch Map ( location LiveData ) Ġ{ Ġlocation Ġ-> ĊĠĠĠĠĠĠĠ ĠRepository . refresh Weather ( location ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrefresh Weather ( location : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlocation LiveData . value Ġ= Ġlocation ĊĠĠĠ Ġ} Ċ }