package Ġcom . example . android dev challenge . vm Ċ Ċ import Ġandroidx . annotation . MainThread Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . example . android dev challenge . data . P up py Ċ import Ġcom . example . android dev challenge . ui . Screen Ċ Ċ class ĠNav ViewModel Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġscreen Ġ= ĠMutable LiveData < Screen >( Screen . Home Screen ) ĊĊĠĠĠ Ġvar Ġcur Screen : ĠLive Data < Screen > Ġ= Ġscreen ĊĊĊĠĠĠ Ġ@ MainThread ĊĠĠĠ Ġfun Ġon Back (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( screen . value Ġ!= ĠScreen . Home Screen ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscreen . value Ġ= ĠScreen . Home Screen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ MainThread ĊĠĠĠ Ġfun Ġnavigate To Detail ( pup py : ĠP up py ) Ġ{ ĊĠĠĠĠĠĠĠ Ġscreen . value Ġ= ĠScreen . Detail Screen ( pup py ) ĊĠĠĠ Ġ} Ċ Ċ }