Fixed media session null checks

This commit is contained in:
Nite 2021-09-05 09:34:38 +02:00
parent f29db522d4
commit 84d28178bf
No known key found for this signature in database
GPG Key ID: 1D1AD59B1C6386C1
2 changed files with 10 additions and 10 deletions

View File

@ -13,7 +13,7 @@ public class State implements Serializable
{ {
public static final long serialVersionUID = -6346438781062572270L; public static final long serialVersionUID = -6346438781062572270L;
public List<MusicDirectory.Entry> songs = new ArrayList<MusicDirectory.Entry>(); public List<MusicDirectory.Entry> songs = new ArrayList<>();
public int currentPlayingIndex; public int currentPlayingIndex;
public int currentPlayingPosition; public int currentPlayingPosition;
} }

View File

@ -71,12 +71,12 @@ class MediaSessionHandler : KoinComponent {
Timber.d("MediaSessionHandler.initialize Creating Media Session") Timber.d("MediaSessionHandler.initialize Creating Media Session")
mediaSession = MediaSessionCompat(applicationContext, "UltrasonicService") mediaSession = MediaSessionCompat(applicationContext, "UltrasonicService")
val mediaSessionToken = mediaSession!!.sessionToken val mediaSessionToken = mediaSession?.sessionToken ?: return
mediaSessionEventDistributor.raiseMediaSessionTokenCreatedEvent(mediaSessionToken!!) mediaSessionEventDistributor.raiseMediaSessionTokenCreatedEvent(mediaSessionToken)
updateMediaButtonReceiver() updateMediaButtonReceiver()
mediaSession!!.setCallback(object : MediaSessionCompat.Callback() { mediaSession?.setCallback(object : MediaSessionCompat.Callback() {
override fun onPlay() { override fun onPlay() {
super.onPlay() super.onPlay()
@ -159,7 +159,7 @@ class MediaSessionHandler : KoinComponent {
) )
// It seems to be the best practice to set this to true for the lifetime of the session // It seems to be the best practice to set this to true for the lifetime of the session
mediaSession!!.isActive = true mediaSession?.isActive = true
if (cachedPlaylist != null) updateMediaSessionQueue(cachedPlaylist!!) if (cachedPlaylist != null) updateMediaSessionQueue(cachedPlaylist!!)
Timber.i("MediaSessionHandler.initialize Media Session created") Timber.i("MediaSessionHandler.initialize Media Session created")
} }
@ -193,7 +193,7 @@ class MediaSessionHandler : KoinComponent {
} }
// Save the metadata // Save the metadata
mediaSession!!.setMetadata(metadata.build()) mediaSession?.setMetadata(metadata.build())
playbackActions = PlaybackStateCompat.ACTION_PLAY_PAUSE or playbackActions = PlaybackStateCompat.ACTION_PLAY_PAUSE or
PlaybackStateCompat.ACTION_SKIP_TO_NEXT or PlaybackStateCompat.ACTION_SKIP_TO_NEXT or
@ -249,7 +249,7 @@ class MediaSessionHandler : KoinComponent {
playbackStateBuilder.setActiveQueueItemId(currentPlayingIndex) playbackStateBuilder.setActiveQueueItemId(currentPlayingIndex)
// Save the playback state // Save the playback state
mediaSession!!.setPlaybackState(playbackStateBuilder.build()) mediaSession?.setPlaybackState(playbackStateBuilder.build())
} }
fun updateMediaSessionQueue(playlist: Iterable<MusicDirectory.Entry>) { fun updateMediaSessionQueue(playlist: Iterable<MusicDirectory.Entry>) {
@ -257,8 +257,8 @@ class MediaSessionHandler : KoinComponent {
cachedPlaylist = playlist cachedPlaylist = playlist
if (mediaSession == null) return if (mediaSession == null) return
mediaSession!!.setQueueTitle(applicationContext.getString(R.string.button_bar_now_playing)) mediaSession?.setQueueTitle(applicationContext.getString(R.string.button_bar_now_playing))
mediaSession!!.setQueue( mediaSession?.setQueue(
playlist.mapIndexed { id, song -> playlist.mapIndexed { id, song ->
MediaSessionCompat.QueueItem( MediaSessionCompat.QueueItem(
Util.getMediaDescriptionForEntry(song), Util.getMediaDescriptionForEntry(song),
@ -288,7 +288,7 @@ class MediaSessionHandler : KoinComponent {
if (cachedPlayingIndex != null) if (cachedPlayingIndex != null)
playbackStateBuilder.setActiveQueueItemId(cachedPlayingIndex!!) playbackStateBuilder.setActiveQueueItemId(cachedPlayingIndex!!)
mediaSession!!.setPlaybackState(playbackStateBuilder.build()) mediaSession?.setPlaybackState(playbackStateBuilder.build())
} }
fun updateMediaButtonReceiver() { fun updateMediaButtonReceiver() {