package Ġcom . el menus . assignment . main . viewModel Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroidx . lifecycle . Android ViewModel Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . paging . Paged List Ċ import Ġcom . el menus . assignment . main . model . Item Ċ import Ġcom . el menus . assignment . main . model . Food Tag Ċ import Ġcom . el menus . assignment . main . repository . Food Repository Ċ import Ġcom . el menus . assignment . main . repository . db . Food Database Ċ Ċ class ĠMainActivity ViewModel ( db : ĠFood Database , Ġapplication : ĠApplication ) Ġ: ĠAndroid ViewModel ( application ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġrepository Ġ= ĠFood Repository ( db , Ġapplication . application Context ) ĊĠĠĠ Ġprivate Ġvar Ġlast Selected TagName Ġ= Ġ"" ĊĠĠĠ Ġval Ġobservable Tags : ĠLive Data < Paged List < Food Tag >> Ġ= Ġrepository . observable Tags ĊĠĠĠ Ġval Ġobservable Items Of Selected Tags : ĠLive Data < List < Item >> Ġ= Ġrepository . observable Items Of Selected Tag ĊĊĠĠĠ Ġfun ĠsetSelected Tag ByName ( name : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlast Selected TagName Ġ= Ġname ĊĠĠĠĠĠĠĠ Ġrepository . setSelected Tag ByName ( name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġreload Tags () Ġ{ ĊĠĠĠĠĠĠĠ Ġrepository . reload Tags () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġreload Selected Tag Items () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( last Selected TagName . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠsetSelected Tag ByName ( last Selected TagName ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }