package Ġcom . ray . sql itet emplate . view _ model Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . ray . sql itet emplate . repository . model . UserData Ċ import Ġcom . ray . sql itet emplate . repository . remote _ data _ source . UserData _ Server Repo Ċ Ċ class ĠUser Data ViewModel : ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġm All UserData : ĠMutable LiveData < List < UserData >> ĊĊĠĠĠ Ġinit { ĊĠĠĠĠĠĠĠ Ġ// retrie ved Ġdata Ġfrom ĠRepository ĊĠĠĠĠĠĠĠ Ġm All UserData Ġ= ĠUser Data _ Server Repo . getData Set () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// L iver Data Ġwill Ġnot Ġbe Ġchanged Ġdirectly Ġbut Ġonly Ġindirect ly . ĊĠĠĠ Ġ// This Ġprevent Ġdata Ġchange Ġin Ġsuch Ġcase Ġwhere Ġuser Ġleave Ġsmart Ġphone Ġfor Ġa Ġperiod Ġof Ġtime Ġand Ġcome Ġback , Ġdata Ġstill Ġwon 't Ġchange ĊĠĠĠ Ġfun ĠgetUser Datas (): ĠLive Data < List < UserData >> Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn Ġm All UserData ĊĠĠĠ Ġ} Ċ Ċ }