package Ġcom . fin ew e ather . android . ui . place čĊč Ċ import Ġandroidx . lifecycle . Mutable LiveData č Ċ import Ġandroidx . lifecycle . Transform ations č Ċ import Ġandroidx . lifecycle . ViewModel č Ċ import Ġcom . fin ew e ather . android . logic . Repository č Ċ import Ġcom . fin ew e ather . android . logic . model . Place čĊč Ċ /* čĊ Ġ* Ġ================================================================= ================ ==== čĊ Ġ* ĠSummary : ĠčĊ Ġ* ĠAuthor : ĠLin Lin Lin čĊ Ġ* ĠCreate : Ġ 2 0 2 0 / 5 / 1 2 Ġ 1 0 : 2 5 čĊ Ġ* Ġ================================================================= ================ ==== čĊ Ġ*/ class ĠPlace ViewModel Ġ: ĠViewModel () Ġ{ čĊĠĠĠ Ġprivate Ġval Ġsearch LiveData Ġ= ĠMutable LiveData < String >() čĊĠĠĠ Ġval Ġplace List Ġ= ĠArrayList < Place >() čĊĠĠĠ Ġval Ġplace LiveData Ġ= ĠTransform ations . switch Map ( search LiveData ) Ġ{ Ġquery Ġ-> čĊĠĠĠĠĠĠĠ ĠRepository . search Pl aced ( query ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġsearch Places ( query : ĠString ) Ġ{ čĊĠĠĠĠĠĠĠ Ġsearch LiveData . value Ġ= Ġquery čĊĠĠĠ Ġ} čĊĠĠĠ Ġfun Ġsave Place ( place : ĠPlace ) Ġ= ĠRepository . save Place ( place ) čĊčĊĠĠĠ Ġfun Ġget Saved Place () Ġ= ĠRepository . get Saved Place () čĊčĊĠĠĠ Ġfun Ġis Place Saved () Ġ= ĠRepository . is Place Saved () čĊč Ċ }