From 12fdf977a45a79cac5e3876ded19855c3bfda527 Mon Sep 17 00:00:00 2001 From: Barnabas Balogh Date: Tue, 3 Mar 2026 21:18:57 +0100 Subject: [PATCH] feat: navigate back to Series screen when exiting playback Pop the EpisodeRoute from the navigation stack when playback starts, so finishing PlayerActivity returns to the SeriesScreen instead of the EpisodeScreen. --- .../hu/bbara/purefin/app/content/episode/EpisodeComponents.kt | 2 ++ .../java/hu/bbara/purefin/app/content/episode/EpisodeScreen.kt | 3 +++ 2 files changed, 5 insertions(+) diff --git a/app/src/main/java/hu/bbara/purefin/app/content/episode/EpisodeComponents.kt b/app/src/main/java/hu/bbara/purefin/app/content/episode/EpisodeComponents.kt index 730c7be..1ab28c6 100644 --- a/app/src/main/java/hu/bbara/purefin/app/content/episode/EpisodeComponents.kt +++ b/app/src/main/java/hu/bbara/purefin/app/content/episode/EpisodeComponents.kt @@ -74,6 +74,7 @@ internal fun EpisodeDetails( episode: Episode, downloadState: DownloadState, onDownloadClick: () -> Unit, + onPlaybackStarted: () -> Unit, modifier: Modifier = Modifier ) { val scheme = MaterialTheme.colorScheme @@ -84,6 +85,7 @@ internal fun EpisodeDetails( val intent = Intent(context, PlayerActivity::class.java) intent.putExtra("MEDIA_ID", episode.id.toString()) context.startActivity(intent) + onPlaybackStarted() } } diff --git a/app/src/main/java/hu/bbara/purefin/app/content/episode/EpisodeScreen.kt b/app/src/main/java/hu/bbara/purefin/app/content/episode/EpisodeScreen.kt index 8bc8022..0324c17 100644 --- a/app/src/main/java/hu/bbara/purefin/app/content/episode/EpisodeScreen.kt +++ b/app/src/main/java/hu/bbara/purefin/app/content/episode/EpisodeScreen.kt @@ -69,6 +69,7 @@ fun EpisodeScreen( episode = episode.value!!, downloadState = downloadState.value, onBack = viewModel::onBack, + onPlaybackStarted = viewModel::onBack, onDownloadClick = onDownloadClick, modifier = modifier ) @@ -79,6 +80,7 @@ private fun EpisodeScreenInternal( episode: Episode, downloadState: DownloadState, onBack: () -> Unit, + onPlaybackStarted: () -> Unit, onDownloadClick: () -> Unit, modifier: Modifier = Modifier, ) { @@ -108,6 +110,7 @@ private fun EpisodeScreenInternal( episode = episode, downloadState = downloadState, onDownloadClick = onDownloadClick, + onPlaybackStarted = onPlaybackStarted, modifier = Modifier .fillMaxWidth() .padding(horizontal = 16.dp)