From b7d56c2d702e330b92306220730c2faa58980f38 Mon Sep 17 00:00:00 2001 From: eddyizm Date: Tue, 23 Sep 2025 12:03:04 -0700 Subject: [PATCH] fix: null check for scrobble when disconnecting from chromecast, which was crashing app --- .../java/com/cappielloantonio/tempo/service/MediaService.kt | 5 ++++- .../java/com/cappielloantonio/tempo/service/MediaService.kt | 5 ++++- .../java/com/cappielloantonio/tempo/service/MediaService.kt | 6 +++++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/app/src/notquitemy/java/com/cappielloantonio/tempo/service/MediaService.kt b/app/src/notquitemy/java/com/cappielloantonio/tempo/service/MediaService.kt index 66b12ae5..4549e27e 100644 --- a/app/src/notquitemy/java/com/cappielloantonio/tempo/service/MediaService.kt +++ b/app/src/notquitemy/java/com/cappielloantonio/tempo/service/MediaService.kt @@ -264,7 +264,10 @@ class MediaService : MediaLibraryService() { override fun onTracksChanged(tracks: Tracks) { ReplayGainUtil.setReplayGain(player, tracks) - MediaManager.scrobble(player.currentMediaItem, false) + val currentMediaItem = player.currentMediaItem + if (currentMediaItem != null && currentMediaItem.mediaMetadata.extras != null) { + MediaManager.scrobble(currentMediaItem, false) + } if (player.currentMediaItemIndex + 1 == player.mediaItemCount) MediaManager.continuousPlay(player.currentMediaItem) diff --git a/app/src/play/java/com/cappielloantonio/tempo/service/MediaService.kt b/app/src/play/java/com/cappielloantonio/tempo/service/MediaService.kt index 99d6dc22..780d56a0 100644 --- a/app/src/play/java/com/cappielloantonio/tempo/service/MediaService.kt +++ b/app/src/play/java/com/cappielloantonio/tempo/service/MediaService.kt @@ -165,7 +165,10 @@ class MediaService : MediaLibraryService(), SessionAvailabilityListener { override fun onTracksChanged(tracks: Tracks) { ReplayGainUtil.setReplayGain(player, tracks) - MediaManager.scrobble(player.currentMediaItem, false) + val currentMediaItem = player.currentMediaItem + if (currentMediaItem != null && currentMediaItem.mediaMetadata.extras != null) { + MediaManager.scrobble(currentMediaItem, false) + } if (player.currentMediaItemIndex + 1 == player.mediaItemCount) MediaManager.continuousPlay(player.currentMediaItem) diff --git a/app/src/tempo/java/com/cappielloantonio/tempo/service/MediaService.kt b/app/src/tempo/java/com/cappielloantonio/tempo/service/MediaService.kt index 486d2352..a8b17ef6 100644 --- a/app/src/tempo/java/com/cappielloantonio/tempo/service/MediaService.kt +++ b/app/src/tempo/java/com/cappielloantonio/tempo/service/MediaService.kt @@ -165,7 +165,11 @@ class MediaService : MediaLibraryService(), SessionAvailabilityListener { override fun onTracksChanged(tracks: Tracks) { ReplayGainUtil.setReplayGain(player, tracks) - MediaManager.scrobble(player.currentMediaItem, false) + + val currentMediaItem = player.currentMediaItem + if (currentMediaItem != null && currentMediaItem.mediaMetadata.extras != null) { + MediaManager.scrobble(currentMediaItem, false) + } if (player.currentMediaItemIndex + 1 == player.mediaItemCount) MediaManager.continuousPlay(player.currentMediaItem)