package Ġcom . work ah olic lab . sun ny weather . ui . weather Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . Transform ations Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . work ah olic lab . sun ny weather . logic . Repository Ċ import Ġcom . work ah olic lab . sun ny weather . logic . model . Location Ċ Ċ /** Ċ Ġ* Ġ@ Description : Ċ Ġ* Ġ å¤© æ°Ķ çļĦ ViewModel Ċ Ġ* Ġ@ author : ĠG ary Ċ Ġ* Ġ@ date : ĠCreated Ġon Ġ 2 0 2 1 / 0 3 / 0 6 Ġ 1 4 : 2 5 Ċ Ġ* Ġ@ since : ĠKotlin Ġ 1 . 4 Ċ Ġ* Ġ@ modified Ġby : Ċ Ġ*/ Ċ class ĠWeather ViewModel : ViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlocation LiveData Ġ= ĠMutable LiveData < Location >() ĊĊĠĠĠ Ġvar Ġlocation Lng ="" ĊĊĠĠĠ Ġvar Ġlocation Lat ="" ĊĊĠĠĠ Ġvar Ġplace Name ="" ĊĊĠĠĠ Ġval Ġweather LiveData Ġ= ĠTransform ations . switch Map ( location LiveData ){ location -> ĊĠĠĠĠĠĠĠ ĠRepository . refresh Weather ( location . lng , location . lat , place Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrefresh Weather ( lng : String , lat : String ){ ĊĠĠĠĠĠĠĠ Ġlocation LiveData . value Ġ= ĠLocation ( lng , lat ) ĊĠĠĠ Ġ} Ċ }