diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ac84f3c..47eebeba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Fixed +- Fixed player crash when clearing app from recents ([#298]) ## [1.5.0] - 2025-10-29 ### Changed @@ -81,6 +83,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 [#258]: https://github.com/FossifyOrg/Music-Player/issues/258 [#261]: https://github.com/FossifyOrg/Music-Player/issues/261 [#269]: https://github.com/FossifyOrg/Music-Player/issues/269 +[#298]: https://github.com/FossifyOrg/Music-Player/issues/298 [Unreleased]: https://github.com/FossifyOrg/Music-Player/compare/1.5.0...HEAD [1.5.0]: https://github.com/FossifyOrg/Music-Player/compare/1.4.0...1.5.0 diff --git a/app/src/main/kotlin/org/fossify/musicplayer/activities/MainActivity.kt b/app/src/main/kotlin/org/fossify/musicplayer/activities/MainActivity.kt index d21481ea..67158d4c 100644 --- a/app/src/main/kotlin/org/fossify/musicplayer/activities/MainActivity.kt +++ b/app/src/main/kotlin/org/fossify/musicplayer/activities/MainActivity.kt @@ -33,7 +33,6 @@ import org.fossify.musicplayer.playback.CustomCommands import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode -import java.io.File import java.io.FileOutputStream class MainActivity : SimpleMusicActivity() { diff --git a/app/src/main/kotlin/org/fossify/musicplayer/playback/PlaybackService.kt b/app/src/main/kotlin/org/fossify/musicplayer/playback/PlaybackService.kt index 8b41d35e..f36d7e34 100644 --- a/app/src/main/kotlin/org/fossify/musicplayer/playback/PlaybackService.kt +++ b/app/src/main/kotlin/org/fossify/musicplayer/playback/PlaybackService.kt @@ -1,5 +1,6 @@ package org.fossify.musicplayer.playback +import android.content.Intent import android.os.Handler import android.os.HandlerThread import android.os.Looper @@ -75,7 +76,9 @@ class PlaybackService : MediaLibraryService(), MediaSessionService.Listener { } } - internal fun withPlayer(callback: SimpleMusicPlayer.() -> Unit) = playerHandler.post { callback(player) } + internal fun withPlayer(callback: SimpleMusicPlayer.() -> Unit) { + playerHandler.post { callback(player) } + } private fun showNoPermissionNotification() { Handler(Looper.getMainLooper()).postDelayed(delayInMillis = 100L) { @@ -99,6 +102,12 @@ class PlaybackService : MediaLibraryService(), MediaSessionService.Listener { // todo: show a notification instead. } + override fun onTaskRemoved(rootIntent: Intent?) { + playerHandler.post { + super.onTaskRemoved(rootIntent) + } + } + companion object { // Initializing a media controller might take a noticeable amount of time thus we expose current playback info here to keep things as quick as possible. var isPlaying: Boolean = false