package Ġcom . top view . pure joy . music library . playlist . square . view model Ċ Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġcom . top view . pure joy . common . mv vm . view model . MV VM ViewModel Ċ import Ġcom . top view . pure joy . common . net . await Async Ċ import Ġcom . top view . pure joy . music library . playlist . square . entity . Playlist Square Response Ċ import Ġcom . top view . pure joy . music library . playlist . square . entity . Playlist Tag Response Ċ import Ġcom . top view . pure joy . music library . playlist . square . repo . IP lay list Square Repository Ċ import Ġcom . top view . pure joy . music library . playlist . square . repo . Playlist Square Repository Ċ Ċ class ĠPlaylist Square ViewModel ( ĊĠĠĠ Ġprivate Ġval Ġrepository : ĠIP lay list Square Repository Ġ= ĠPlaylist Square Repository (), ĊĠĠĠ Ġval Ġplaylist Tags Response : ĠMutable LiveData < Playlist Tag Response ?> Ġ= ĠMutable LiveData (), ĊĠĠĠ Ġval Ġplaylist Response : ĠMutable LiveData < Playlist Square Response ?> Ġ= ĠMutable LiveData () Ċ ) Ġ: ĠMV VM ViewModel () Ġ{ ĊĊĊĠĠĠ Ġfun Ġrequire Tags () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . rx Launch < Playlist Tag Response > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Request Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . require Tags (). await Async () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaylist Tags Response . post Value ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonError Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaylist Tags Response . post Value ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Empty Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaylist Tags Response . post Value ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrequire Play lists ( limit : ĠInt , Ġorder : ĠString , Ġcat : ĠString , Ġoffset : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel Scope . rx Launch < Playlist Square Response > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Request Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepository . require Play lists ( limit , Ġorder , Ġcat , Ġoffset ). await Async () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Empty Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaylist Response . post Value ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonSuccess Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaylist Response . post Value ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠonError Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaylist Response . post Value ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }