From b0703b4d0e3d10e9a723d0ea77e00fd89580f41d Mon Sep 17 00:00:00 2001 From: Alexander Capehart Date: Sat, 8 Jun 2024 21:44:48 -0600 Subject: [PATCH] playback: fix widget not resetting on service end --- .../playback/service/PlaybackActionHandler.kt | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/oxycblt/auxio/playback/service/PlaybackActionHandler.kt b/app/src/main/java/org/oxycblt/auxio/playback/service/PlaybackActionHandler.kt index 8597770de..6d0c1fbeb 100644 --- a/app/src/main/java/org/oxycblt/auxio/playback/service/PlaybackActionHandler.kt +++ b/app/src/main/java/org/oxycblt/auxio/playback/service/PlaybackActionHandler.kt @@ -49,13 +49,15 @@ constructor( @ApplicationContext private val context: Context, private val playbackManager: PlaybackStateManager, private val playbackSettings: PlaybackSettings, - private val systemReceiver: SystemPlaybackReceiver + private val widgetComponent: WidgetComponent ) : PlaybackStateManager.Listener, PlaybackSettings.Listener { interface Callback { fun onCustomLayoutChanged(layout: List) } + private val systemReceiver = + SystemPlaybackReceiver(playbackManager, playbackSettings, widgetComponent) private var callback: Callback? = null fun attach(callback: Callback) { @@ -71,6 +73,7 @@ constructor( playbackManager.removeListener(this) playbackSettings.unregisterListener(this) context.unregisterReceiver(systemReceiver) + widgetComponent.release() } fun withCommands(commands: SessionCommands) = @@ -180,12 +183,10 @@ object PlaybackActions { * A [BroadcastReceiver] for receiving playback-specific [Intent]s from the system that require an * active [IntentFilter] to be registered. */ -class SystemPlaybackReceiver -@Inject -constructor( - val playbackManager: PlaybackStateManager, - val playbackSettings: PlaybackSettings, - val widgetComponent: WidgetComponent +class SystemPlaybackReceiver( + private val playbackManager: PlaybackStateManager, + private val playbackSettings: PlaybackSettings, + private val widgetComponent: WidgetComponent ) : BroadcastReceiver() { private var initialHeadsetPlugEventHandled = false