package Ġcom . project . io se ph k ne cht . single selection recyclerview . presentation . full _ modified _ list . contract Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġcom . project . io se ph k ne cht . single selection recyclerview . presentation . common . base _ selectable . contract . Base Selectable Contract Ċ import Ġcom . project . io se ph k ne cht . single selection recyclerview . presentation . common . view State . Select ableView State Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠContract Ġfor Ġmodule Ġwith Ġfull Ġmodified Ġlist Ġitems . Ċ Ġ* Ċ Ġ* Ġ@ author ĠI ose ph K ne cht Ċ Ġ*/ Ċ interface ĠFull Modified Contract Ġ{ ĊĠĠĠ Ġinterface ĠViewModel Ġ: ĠBase Selectable Contract . ViewModel < UUID , ĠSelect ableView State > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġadd State : ĠLive Data < Boolean > ĊĠĠĠĠĠĠĠ Ġval Ġconfirm Remove Dialog : ĠLive Data < Select ableView State > ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠAdd Ġnew Ġelement Ġto Ġlist . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġadd () ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠConfirm Ġadding Ġto Ġlist . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġconfirm Add () ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠRemove Ġelement Ġfrom Ġlist . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġremove ( select ableView State : ĠSelect ableView State ) ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠConfirm Ġremoving Ġfrom Ġlist . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġconfirm Remove () ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠDe cline Ġremoving Ġfrom Ġlist . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġdecl ine Remove () ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠApply Ġchange Ġto Ġelement Ġof Ġlist . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġapply Changes ( view State : ĠSelect ableView State ) ĊĠĠĠ Ġ} Ċ }