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 6b285e1..84d65e9 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 @@ -107,7 +107,6 @@ internal fun EpisodeDetails( episode: Episode, downloadState: DownloadState, onDownloadClick: () -> Unit, - onPlaybackStarted: () -> Unit, modifier: Modifier = Modifier ) { val scheme = MaterialTheme.colorScheme @@ -118,7 +117,6 @@ 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 6669aea..0b35f12 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 @@ -72,7 +72,6 @@ fun EpisodeScreen( downloadState = downloadState.value, onBack = viewModel::onBack, onSeriesClick = viewModel::onSeriesClick, - onPlaybackStarted = viewModel::onPlaybackStarted, onDownloadClick = onDownloadClick, modifier = modifier ) @@ -85,7 +84,6 @@ private fun EpisodeScreenInternal( downloadState: DownloadState, onBack: () -> Unit, onSeriesClick: () -> Unit, - onPlaybackStarted: () -> Unit, onDownloadClick: () -> Unit, modifier: Modifier = Modifier, ) { @@ -117,7 +115,6 @@ private fun EpisodeScreenInternal( episode = episode, downloadState = downloadState, onDownloadClick = onDownloadClick, - onPlaybackStarted = onPlaybackStarted, modifier = Modifier .fillMaxWidth() .padding(horizontal = 16.dp) diff --git a/app/src/main/java/hu/bbara/purefin/app/content/series/SeriesComponents.kt b/app/src/main/java/hu/bbara/purefin/app/content/series/SeriesComponents.kt index 82b4695..e1354f1 100644 --- a/app/src/main/java/hu/bbara/purefin/app/content/series/SeriesComponents.kt +++ b/app/src/main/java/hu/bbara/purefin/app/content/series/SeriesComponents.kt @@ -63,15 +63,18 @@ import hu.bbara.purefin.common.ui.components.GhostIconButton import hu.bbara.purefin.common.ui.components.MediaActionButton import hu.bbara.purefin.common.ui.components.MediaProgressBar import hu.bbara.purefin.common.ui.components.MediaResumeButton -import hu.bbara.purefin.player.PlayerActivity import hu.bbara.purefin.common.ui.components.PurefinAsyncImage import hu.bbara.purefin.common.ui.components.WatchStateIndicator -import hu.bbara.purefin.feature.download.DownloadState +import hu.bbara.purefin.core.data.navigation.EpisodeDto +import hu.bbara.purefin.core.data.navigation.LocalNavigationManager +import hu.bbara.purefin.core.data.navigation.Route import hu.bbara.purefin.core.model.CastMember import hu.bbara.purefin.core.model.Episode import hu.bbara.purefin.core.model.Season import hu.bbara.purefin.core.model.Series +import hu.bbara.purefin.feature.download.DownloadState import hu.bbara.purefin.feature.shared.content.series.SeriesViewModel +import hu.bbara.purefin.player.PlayerActivity @Composable internal fun SeriesTopBar( @@ -127,14 +130,24 @@ internal fun SeriesActionButtons( modifier: Modifier = Modifier, ) { val context = LocalContext.current + val navigationManager = LocalNavigationManager.current val scheme = MaterialTheme.colorScheme var showDownloadDialog by remember { mutableStateOf(false) } val episodeId = nextUpEpisode?.id - val playAction = remember(episodeId) { - episodeId?.let { id -> + val playAction = remember(nextUpEpisode) { + nextUpEpisode?.let { episode -> { + navigationManager.navigate( + Route.EpisodeRoute( + EpisodeDto( + id = episode.id, + seasonId = episode.seasonId, + seriesId = episode.seriesId + ) + ) + ) val intent = Intent(context, PlayerActivity::class.java) - intent.putExtra("MEDIA_ID", id.toString()) + intent.putExtra("MEDIA_ID", episode.id.toString()) context.startActivity(intent) } } diff --git a/feature/shared/src/main/java/hu/bbara/purefin/feature/shared/content/episode/EpisodeScreenViewModel.kt b/feature/shared/src/main/java/hu/bbara/purefin/feature/shared/content/episode/EpisodeScreenViewModel.kt index 2957db2..cb8eeda 100644 --- a/feature/shared/src/main/java/hu/bbara/purefin/feature/shared/content/episode/EpisodeScreenViewModel.kt +++ b/feature/shared/src/main/java/hu/bbara/purefin/feature/shared/content/episode/EpisodeScreenViewModel.kt @@ -5,8 +5,6 @@ import androidx.lifecycle.viewModelScope import dagger.hilt.android.lifecycle.HiltViewModel import hu.bbara.purefin.core.data.AppContentRepository import hu.bbara.purefin.core.data.navigation.NavigationManager -import hu.bbara.purefin.core.data.navigation.Route -import hu.bbara.purefin.core.data.navigation.SeriesDto import hu.bbara.purefin.core.model.Episode import hu.bbara.purefin.feature.download.DownloadState import hu.bbara.purefin.feature.download.MediaDownloadManager @@ -51,20 +49,8 @@ class EpisodeScreenViewModel @Inject constructor( navigationManager.pop() } - fun onPlay() { - val id = _episodeId.value?.toString() ?: return - navigationManager.navigate(Route.PlayerRoute(mediaId = id)) - } - - fun onPlaybackStarted() { - val seriesId = _seriesId.value ?: return - navigationManager.pop() - navigationManager.navigate(Route.SeriesRoute(SeriesDto(id = seriesId))) - } - fun onSeriesClick() { - val seriesId = _seriesId.value ?: return - navigationManager.navigate(Route.SeriesRoute(SeriesDto(id = seriesId))) + navigationManager.pop() } fun selectEpisode(seriesId: UUID, seasonId: UUID, episodeId: UUID) {