package Ġcom . f aren as . challenge ml . ui . detail Ċ Ċ import Ġandroidx . h ilt . Ass isted Ċ import Ġandroidx . h ilt . lifecycle . ViewModel Inject Ċ import Ġandroidx . lifecycle . Saved State Handle Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . f aren as . challenge ml . data . model . Product Ċ import Ġcom . f aren as . challenge ml . data . repo . Product Repository Ċ import Ġcom . f aren as . challenge ml . utils . Constants Ċ import Ġkotlinx . coroutines . launch Ċ import Ġjava . util .* Ċ Ċ class ĠDetail ViewModel Ġ@ ViewModel Inject Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġproduct Repository : ĠProduct Repository , ĊĠĠĠĠĠĠĠ Ġ@ Ass isted Ġprivate Ġval Ġsaved State Handle : ĠSaved State Handle Ċ ) Ġ: ĠViewModel () Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproduct Ġ= Ġsaved State Handle . get < Product >( Constants . PARAM _ PRODUCT ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproduct ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . last View ed Ġ= ĠDate () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Repository . save Product ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }