package Ġcom . sun ny weather . android . ui . weather ĊĊ Ċ import Ġandroid . util . Log Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . Transform ations Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . sun ny weather . android . Log Util Ċ import Ġcom . sun ny weather . android . logic . Res pository Ċ import Ġcom . sun ny weather . android . logic . model . Location ĊĊ Ċ class ĠWeather ViewModel Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġ// LiveData ãĢĤ åı¯ä»¥ åĮħåĲ« ä»»ä½ķ ç±»åŀĭ çļĦæķ°æį® ï¼Į å¹¶ä¸Ķ åľ¨ æķ°æį® åıĺåĮĸ çļĦæĹ¶åĢĻ ï¼Į éĢļçŁ¥ è§Ĥ å¯Ł èĢħ ĊĠĠĠ Ġ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 Ġ-> ĊĠĠĠĠĠĠĠ ĠLog Util . v (" Weather ViewModel ", Ġ" --- weather LiveData Ġlng ä¸º ${ location . lng }, Ġlat ä¸º ${ location . lat }") ĊĠĠĠĠĠĠĠ ĠRes pository . refresh Weather ( location . lng , Ġlocation . lat ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrefresh Weather ( lng : ĠString , Ġlat : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog Util . v (" Weather ViewModel ", Ġ" --- refresh Weather åħ¥ åıĤ Ġlng ä¸º ${ lng }, Ġlat ä¸º ${ lat }") ĊĠĠĠĠĠĠĠ Ġ// ç»Ļ LiveData è®¾ç½® æķ°æį® ĊĠĠĠĠĠĠĠ Ġlocation LiveData . value Ġ= ĠLocation ( lng , Ġlat ) ĊĠĠĠ Ġ} Ċ }