package Ġhu . n emi . abc store . sample . todo . lists Ċ Ċ import Ġandroid . arch . lifecycle . ViewModel Ċ import Ġhu . n emi . abc store . android . as LiveData Ċ import Ġhu . n emi . abc store . core . State Store Ċ import Ġjava . util .* Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠLists ViewModel Ġ@ Inject Ġconstructor ( private Ġval Ġstore : ĠState Store < List < ListItem >>) Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġval Ġlists Ġ= Ġstore . as LiveData () ĊĊĠĠĠ Ġfun Ġadd Item ( title : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstore . dispatch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġ+ ĠListItem ( id Ġ= ĠUUID . randomUUID (). toString (), Ġtitle Ġ= Ġtitle , Ġcount Ġ= Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove Item ( id : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstore . dispatch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . filter Ġ{ Ġitem Ġ-> Ġitem . id Ġ!= Ġid Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }