package Ġkl al umi ere . re per to ire Ċ Ċ import Ġandroid . app . Application Ċ import Ġandroid . net . Uri Ċ import Ġandroidx . lifecycle . Android ViewModel Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . viewModel Scope Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠSong ViewModel ( application : ĠApplication ) Ġ: ĠAndroid ViewModel ( application ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġrepository Ġ= ĠSong Repository ( application ) ĊĠĠĠ Ġval Ġsong List Ġ= Ġrepository . getAll S ongs () ĊĊĠĠĠ Ġfun Ġadd ( uris : ĠList < Uri >) Ġ= ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠ Ġur is . forEach Ġ{ Ġuri Ġ-> Ġrepository . add ( uri ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Song Content ( uri : ĠUri ): ĠLive Data < Song Content > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository . getS ong Content ( uri ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġremove ( uris : ĠList < Uri >) Ġ= ĠviewModel Scope . launch Ġ{ ĊĠĠĠĠĠĠĠ Ġur is . forEach Ġ{ Ġuri Ġ-> Ġrepository . remove ( uri ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ