package Ġcom . example . calculator . presentation . history Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . example . calculator . domain . History Repository Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠHistory ViewModel ( ĊĠĠĠ Ġprivate Ġval Ġhistory Repository : ĠHistory Repository Ċ ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġ_ close With Result Ġ= ĠMutable LiveData < History Item >() ĊĠĠĠ Ġval Ġclose With Result Ġ= Ġ_ close With Result ĊĊĠĠĠ Ġprivate Ġval Ġ_ history Items State Ġ= ĠMutable LiveData < List < History Item >>() ĊĠĠĠ Ġval Ġhistory Items State Ġ= Ġ_ history Items State ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ history Items State . value Ġ= Ġhistory Repository . getAll () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Item Clicked ( history Item : ĠHistory Item ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ close With Result . value Ġ= Ġhistory Item ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Clear Clicked () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhistory Repository . delete All () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ history Items State . value Ġ= Ġhistory Repository . getAll () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊ Ċ }