package Ġcom . example . my application . kotlin demo . view model Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . Transform ations Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġcom . example . my application . kotlin demo . logic . mod le . User Ċ Ċ class ĠKotlin ViewModel () Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġuser LiveData Ġ= ĠMutable LiveData < User >() ĊĠĠĠ Ġval ĠuserName : ĠLive Data < String > Ġ= ĠTransform ations . map ( user LiveData ){ ĊĠĠĠĠĠĠĠ Ġ"${ it . userName }" ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġcounter : ĠLive Data < Int > ĊĠĠĠ Ġget () Ġ= Ġ_ counter ĊĠĠĠ Ġprivate Ġval Ġ_ counter Ġ= ĠMutable LiveData < Int >() ĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ counter . value Ġ= Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġplus One (){ ĊĠĠĠĠĠĠĠ Ġval Ġcount Ġ= Ġ_ counter . value Ġ?: Ġ 0 ĊĠĠĠĠĠĠĠ Ġ_ counter . value Ġ= Ġcount Ġ+ Ġ 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclean (){ ĊĠĠĠĠĠĠĠ Ġ_ counter . value Ġ= Ġ 0 ĊĠĠĠ Ġ} Ċ Ċ }