diff --git a/app/src/main/java/org/oxycblt/auxio/music/service/Indexer.kt b/app/src/main/java/org/oxycblt/auxio/music/service/Indexer.kt index 6b3dfb29f..abc9eeaaf 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/service/Indexer.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/service/Indexer.kt @@ -90,10 +90,10 @@ private constructor( fun release() { contentObserver.release() - musicSettings.registerListener(this) - musicRepository.addIndexingListener(this) - musicRepository.addUpdateListener(this) + musicRepository.unregisterWorker(this) musicRepository.removeIndexingListener(this) + musicRepository.removeUpdateListener(this) + musicSettings.unregisterListener(this) } override fun requestIndex(withCache: Boolean) { diff --git a/app/src/main/java/org/oxycblt/auxio/playback/service/MediaSessionHolder.kt b/app/src/main/java/org/oxycblt/auxio/playback/service/MediaSessionHolder.kt index b5724f6b4..dc33ca4ab 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/service/MediaSessionHolder.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/service/MediaSessionHolder.kt @@ -113,9 +113,9 @@ private constructor( */ fun release() { bitmapProvider.release() + playbackManager.removeListener(this) playbackSettings.unregisterListener(this) imageSettings.unregisterListener(this) - playbackManager.removeListener(this) mediaSession.apply { isActive = false release() diff --git a/app/src/main/java/org/oxycblt/auxio/playback/service/PlaybackServiceFragment.kt b/app/src/main/java/org/oxycblt/auxio/playback/service/PlaybackServiceFragment.kt index 04af2a40f..26ce16237 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/service/PlaybackServiceFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/service/PlaybackServiceFragment.kt @@ -107,11 +107,11 @@ private constructor( fun release() { waitJob.cancel() + playbackManager.removeListener(this) + systemReceiver.release() widgetComponent.release() - context.unregisterReceiver(systemReceiver) sessionHolder.release() exoHolder.release() - playbackManager.removeListener(this) } override fun onSessionEnded() {