11package nz.badradio.badradio.model.radio
22
3+ import android.app.Service
34import android.content.Intent
45import android.net.Uri
56import android.os.*
6- import android.support.v4.media.MediaBrowserCompat
7- import androidx.media.MediaBrowserServiceCompat
87import nz.badradio.badradio.utilities.client
98import com.google.android.exoplayer2.*
109import com.google.android.exoplayer2.audio.AudioAttributes
@@ -16,7 +15,7 @@ import nz.badradio.badradio.model.station.StationInfo
1615import nz.badradio.badradio.model.station.getStationInfo
1716import nz.badradio.badradio.utilities.generateFunExecuteWhen
1817
19- class RadioService : MediaBrowserServiceCompat (), UserInputVMObserver {
18+ class RadioService : Service (), UserInputVMObserver {
2019 private lateinit var mediaPlayer: ExoPlayer
2120
2221 private val audioAttributes = AudioAttributes .Builder ().apply {
@@ -42,6 +41,7 @@ class RadioService : MediaBrowserServiceCompat(), UserInputVMObserver {
4241 override fun onCreate () {
4342 super .onCreate()
4443
44+ // TODO: rethink command structure, only create player if want to play
4545 getStationInfo {
4646 createPlayer(it)
4747 }
@@ -98,32 +98,7 @@ class RadioService : MediaBrowserServiceCompat(), UserInputVMObserver {
9898 mediaPlayer.play()
9999 }
100100
101- // Media Browser
102-
103- override fun onGetRoot (
104- clientPackageName : String ,
105- clientUid : Int ,
106- rootHints : Bundle ?
107- ): BrowserRoot {
108- return BrowserRoot (BADRADIO_RECENT_BROWSER_ROOT , Bundle ())
109- }
110-
111- override fun onLoadChildren (
112- parentId : String ,
113- result : Result <MutableList <MediaBrowserCompat .MediaItem >>
114- ) {
115- if (parentId == BADRADIO_RECENT_BROWSER_ROOT ) {
116- RadioVM .loadRecentMediaItem(result)
117- result.detach()
118- } else {
119- result.sendResult(null )
120- }
121- }
122-
123101 // Helpers
124102
125103 private val runWhenPlayerInitialized = generateFunExecuteWhen { ::mediaPlayer.isInitialized }
126104}
127-
128- private const val BADRADIO_EMPTY_BROWSER_ROOT = " nz.badradio.badradio.model.radio.BADRADIO_EMPTY_BROWSER_ROOT"
129- private const val BADRADIO_RECENT_BROWSER_ROOT = " nz.badradio.badradio.model.radio.BADRADIO_RECENT_BROWSER_ROOT"
0 commit comments