package Ġcom . mu dd ass ir . functional _ audio Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġcom . mu dd ass ir . fa udio .* Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġkotlinx . coroutines . delay Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġaudio Library () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġaudio Library () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġaudio Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// server 1 1 . mp 3 q uran . net / sds / 0 0 1 . mp 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// server 1 1 . mp 3 q uran . net / sds / 0 0 2 . mp 3 ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// server 1 1 . mp 3 q uran . net / sds / 0 0 3 . mp 3 " ĊĠĠĠĠĠĠĠ Ġ) Ġas Audio With ( this ) ĊĊĠĠĠĠĠĠĠ Ġaudio Ġshould Perform Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġneeds To Ġ( start Ġthen Ġdownload ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 1 0 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġneeds To Ġstop ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 1 0 0 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ġneeds To Ġstart ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġaudio Ġshould Ġ( start Ġthen Ġdownload ) ĊĊĠĠĠĠĠĠĠ Ġaudio . state . observe ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( it . items . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( MainActivity :: class . simple Name , Ġ" Audio ĠState : Ġ$ it ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdownload Paused Ġ= Ġit . items [ it . index ]. download Paused ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdownload Progress Ġ= Ġit . items [ it . index ]. download Progress ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠtextView . text Ġ= Ġ" Paused : Ġ$ download Paused , ĠDownload ĠProgress : Ġ$ download Progress " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }