package Ġxyz . ph ong to an hu u . dan me i . view model Ċ Ċ import Ġandroidx . lifecycle .* Ċ import Ġxyz . ph ong to an hu u . dan me i . entity . Category Entity Ċ import Ġxyz . ph ong to an hu u . dan me i . repository . Main Repository Ċ import Ġxyz . ph ong to an hu u . dan me i . utils . Resource Ċ Ċ class ĠMain ViewModel ( private Ġval Ġmain Repository : ĠMain Repository ) Ġ: ĊĠĠĠ ĠViewModel () Ġ{ ĊĊĠĠĠ Ġval Ġcategory List : ĠLive Data < Resource < List < Category Entity >>> Ġ= ĊĠĠĠĠĠĠĠ ĠTransform ations . switch Map ( getC ategories Count ()){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Categories () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Categories (): ĠLive Data < Resource < List < Category Entity >>> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmain Repository . getC ategories () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Categories Count (): ĠLive Data < Resource < Int >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmain Repository . categories Count () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdownload E pub ( category Entity : ĠCategory Entity ): ĠLive Data < Resource < Category Entity >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmain Repository . download E pub ( category Entity ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate Category Entity ( category Entity : ĠCategory Entity ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmain Repository . update Category ( category Entity ) ĊĠĠĠ Ġ} Ċ }