package Ġcom . ville val ta . imgur . view model Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroidx . lifecycle . Android ViewModel Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . Transform ations Ċ import Ġcom . ville val ta . imgur . data . repository . Tags Repository Ċ import Ġcom . ville val ta . imgur . model . Tag Ċ import Ġcom . ville val ta . imgur . utils . Resource Ċ Ċ class ĠTags ViewModel ( application : ĠApplication ) Ġ: ĠAndroid ViewModel ( application ) Ġ{ ĊĊĠ Ġ// Ġhttps :// pro android dev . com / 5 - common - mist akes - when - using - architecture - components - 4 0 3 e 9 8 9 9 f 4 cb ĊĊĠ Ġprivate Ġval Ġrequest Reload Ġ= ĠMutable LiveData ( false ) ĊĊĠ Ġval Ġtags Repo : ĠTags Repository Ġby Ġlazy Ġ{ ĊĠĠĠ ĠTags Repository . getInstance () ĊĠ Ġ} ĊĊĠ Ġval Ġtags : ĠLive Data < Resource < List < Tag >, ĠThrowable >> Ġ= ĊĠĠĠ ĠTransform ations . switch Map ( request Reload ) Ġ{ Ġforce Ġ-> ĊĠĠĠĠĠ Ġtags Repo . get Tags ( force ) ĊĠĠĠ Ġ} ĊĊĠ Ġfun Ġupdate Tags () Ġ{ ĊĠĠĠ Ġrequest Reload . value Ġ= Ġtrue ĊĠ Ġ} Ċ Ċ } ĊĊĊ