package Ġcom . li uge . li uge weather . ui . place Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . Transform ations Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . li uge . li uge weather . logic . Repository Ċ import Ġcom . li uge . li uge weather . logic . model . Place Ċ Ċ /** Ċ Ġ* ĠFileName : ĠPlace ViewModel Ċ Ġ* ĠAuthor : ĠLi u Ge Ċ Ġ* ĠDate : Ġ 2 0 2 0 / 8 / 9 Ġ 1 9 : 1 9 Ċ Ġ* ĠDescription : Ġplace çļĦ view model Ċ Ġ*/ Ċ 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 Places ( 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 () Ċ }