Skip to content

Commit 031dbb1

Browse files
committed
Merge branch 'release/3.0.0-patch4' into latest
2 parents a410612 + 9ee3413 commit 031dbb1

7 files changed

Lines changed: 43 additions & 54 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Bad Radio Android ![version](https://img.shields.io/badge/v3.0.0--patch3-blue.svg)
1+
# Bad Radio Android ![version](https://img.shields.io/badge/v3.0.0--patch4-blue.svg)
22

33
[![website](https://img.shields.io/badge/Website-grey.svg)](https://badradio.nz/)
44
[![Build Develop](https://github.com/cloudsftp/BadRadioAndroid/actions/workflows/build.yml/badge.svg?branch=develop)](https://github.com/cloudsftp/BadRadioAndroid/actions/workflows/build.yml)

app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ android {
88
applicationId "nz.badradio.badradio"
99
minSdkVersion 23
1010
targetSdkVersion 33
11-
versionCode 314
12-
versionName "3.0.0-patch3"
11+
versionCode 315
12+
versionName "3.0.0-patch4"
1313
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
1414
}
1515
signingConfigs {

app/src/main/AndroidManifest.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@
2626
</activity>
2727
<activity android:name="nz.badradio.badradio.view.AboutActivity" />
2828

29-
<service android:name="nz.badradio.badradio.model.radio.RadioService"
29+
<service android:name="nz.badradio.badradio.model.radio.RadioService"/>
30+
31+
<service android:name=".model.radio.MediaBrowser"
3032
android:exported="true">
3133
<intent-filter>
3234
<action android:name="android.media.browse.MediaBrowserService" />
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package nz.badradio.badradio.model.radio
2+
3+
import android.os.Bundle
4+
import android.support.v4.media.MediaBrowserCompat
5+
import androidx.media.MediaBrowserServiceCompat
6+
import nz.badradio.badradio.viewmodel.RadioVM
7+
8+
class MediaBrowser : MediaBrowserServiceCompat() {
9+
10+
override fun onGetRoot(
11+
clientPackageName: String,
12+
clientUid: Int,
13+
rootHints: Bundle?
14+
): BrowserRoot {
15+
// TODO: return empty root when not playing
16+
return BrowserRoot(BADRADIO_RECENT_BROWSER_ROOT, Bundle())
17+
}
18+
19+
override fun onLoadChildren(
20+
parentId: String,
21+
result: Result<MutableList<MediaBrowserCompat.MediaItem>>
22+
) {
23+
if (parentId == BADRADIO_RECENT_BROWSER_ROOT) {
24+
RadioVM.loadRecentMediaItem(result)
25+
result.detach()
26+
} else {
27+
result.sendResult(null)
28+
}
29+
}
30+
31+
}
32+
33+
private const val BADRADIO_EMPTY_BROWSER_ROOT = "nz.badradio.badradio.model.radio.BADRADIO_EMPTY_BROWSER_ROOT"
34+
private const val BADRADIO_RECENT_BROWSER_ROOT = "nz.badradio.badradio.model.radio.BADRADIO_RECENT_BROWSER_ROOT"

app/src/main/java/nz/badradio/badradio/model/radio/RadioManager.kt

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,6 @@ object RadioManager: UserInputVMObserver {
3434

3535
// Service Controls
3636

37-
fun restartService(context: Context, mediaSession: MediaSessionCompat) {
38-
stopService()
39-
runWhenServiceUnbound {
40-
startService(context, mediaSession)
41-
}
42-
}
43-
4437
fun stopService() = runIfServiceBound {
4538
service!!.stopSelf()
4639
}
@@ -82,12 +75,6 @@ object RadioManager: UserInputVMObserver {
8275
service!!.onPause()
8376
}
8477

85-
/*
86-
override fun onStop() = executeWhenServiceBound {
87-
service!!.onStop()
88-
}
89-
*/
90-
9178
override fun onGoLive() = runWhenServiceBound {
9279
service!!.onGoLive()
9380
}

app/src/main/java/nz/badradio/badradio/model/radio/RadioService.kt

Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
package nz.badradio.badradio.model.radio
22

3+
import android.app.Service
34
import android.content.Intent
45
import android.net.Uri
56
import android.os.*
6-
import android.support.v4.media.MediaBrowserCompat
7-
import androidx.media.MediaBrowserServiceCompat
87
import nz.badradio.badradio.utilities.client
98
import com.google.android.exoplayer2.*
109
import com.google.android.exoplayer2.audio.AudioAttributes
@@ -16,7 +15,7 @@ import nz.badradio.badradio.model.station.StationInfo
1615
import nz.badradio.badradio.model.station.getStationInfo
1716
import 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"

version_hints.xml

Lines changed: 0 additions & 9 deletions
This file was deleted.

0 commit comments

Comments
 (0)