Ċ package Ġorg . fat til i . luck ym usic . ui . view . main . song . edit Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġkotlinx . coroutines . launch Ċ import Ġorg . fat til i . luck ym usic . data . Song Repository Ċ import Ġorg . fat til i . luck ym usic . data . S ongs Repository Ċ import Ġorg . fat til i . luck ym usic . data . model . play . Song Ċ import Ġorg . fat til i . luck ym usic . data . model . play . S ongs Ċ import Ġorg . fat til i . luck ym usic . ui . base . Base ViewModel Ċ import Ġorg . fat til i . luck ym usic . util . Logger Ċ Ċ /** Ċ Ġ* Ġ 2 0 2 0 / 1 0 / 2 8 Ċ Ġ* Ġ@ author Ġd eng zh en li Ċ Ġ* Ġ æŃĮ åįķ ç¼ĸè¾ĳ Ċ Ġ*/ Ċ class ĠS ongs Edit ViewModel ( private Ġval Ġrepository : ĠS ongs Repository ) Ġ: ĠBase ViewModel () Ġ{ ĊĠĠĠ Ġvar Ġsongs Id Ġ= Ġ 0 L ĊĊĠĠĠ Ġvar Ġsongs : ĠS ongs ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġsongs Ġ= ĠgetS ongs ( songs Id ) ĊĠĠĠĠĠĠĠ ĠLogger . d (" init :${ songs Id }") ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġget Title (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsongs ?. name Ġ?: Ġ"" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġsave () Ġ{ ĊĠĠĠĠĠĠĠ Ġsongs ?. let Ġ{ Ġrepository . edit ( it ) Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun ĠgetS ongs ( songs Id : ĠLong ): ĠS ongs ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository . getS ongs ( songs Id ) ĊĠĠĠ Ġ} Ċ }