package Ġcom . ale xs ander fr anco . gist app . detail . view model Ċ Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . ViewModel Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . ale xs ander fr anco . gist app . database . entity . G ist Ċ import Ġcom . ale xs ander fr anco . gist app . detail . repository . Detail Repository Ċ import Ġkotlinx . coroutines . Dispatch ers Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠDetail ViewModel ( private Ġval Ġrepository : ĠDetail Repository ) Ġ: ĠViewModel () Ġ{ ĊĠĠĠ Ġprivate Ġval Ġ_ gist Ġ= ĠMutable LiveData < G ist >() ĊĊĠĠĠ Ġval Ġgist : ĠLive Data < G ist > Ġget () Ġ= Ġ_ gist ĊĊĠĠĠ Ġfun Ġset G ist ( new G ist : ĠG ist ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ gist . value Ġ= Ġnew G ist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠonClick Favorite ( gist : ĠG ist ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . launch ( Dispatch ers . IO ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . toggle Favorite ( gist ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgist . is Favorite Ġ= Ġ! gist . is Favorite ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ_ gist . post Value ( gist ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }