diff --git a/app/src/main/java/com/github/damontecres/wholphin/data/model/BaseItem.kt b/app/src/main/java/com/github/damontecres/wholphin/data/model/BaseItem.kt index 2188e9b7..7386bd60 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/data/model/BaseItem.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/data/model/BaseItem.kt @@ -18,6 +18,7 @@ data class BaseItem( val data: BaseItemDto, val imageUrl: String?, val backdropImageUrl: String? = null, + val logoImageUrl: String? = null, ) { val id get() = data.id @@ -109,10 +110,22 @@ data class BaseItem( } else { api.imageApi.getItemImageUrl(dto.id, ImageType.PRIMARY) } + val logoImageUrl = + if (useSeriesForPrimary && (dto.type == BaseItemKind.EPISODE || dto.type == BaseItemKind.SEASON)) { + val seriesId = dto.seriesId + if (seriesId != null) { + api.imageApi.getItemImageUrl(seriesId, ImageType.LOGO) + } else { + api.imageApi.getItemImageUrl(dto.id, ImageType.LOGO) + } + } else { + api.imageApi.getItemImageUrl(dto.id, ImageType.LOGO) + } return BaseItem( dto, primaryImageUrl, backdropImageUrl, + logoImageUrl, ) } } diff --git a/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackOverlay.kt b/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackOverlay.kt index 02473287..99f72ce3 100644 --- a/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackOverlay.kt +++ b/app/src/main/java/com/github/damontecres/wholphin/ui/playback/PlaybackOverlay.kt @@ -45,6 +45,7 @@ import androidx.compose.ui.unit.sp import androidx.media3.common.Player import androidx.tv.material3.MaterialTheme import androidx.tv.material3.Text +import coil3.compose.AsyncImage import com.github.damontecres.wholphin.R import com.github.damontecres.wholphin.data.model.BaseItem import com.github.damontecres.wholphin.data.model.Chapter @@ -395,6 +396,21 @@ fun PlaybackOverlay( } } } + AnimatedVisibility( + !showDebugInfo && item?.logoImageUrl.isNotNullOrBlank() && controllerViewState.controlsVisible, + modifier = + Modifier + .align(Alignment.TopStart), + ) { + AsyncImage( + model = item?.logoImageUrl, + contentDescription = "Logo", + modifier = + Modifier + .fillMaxWidth(.33f) + .padding(32.dp), + ) + } AnimatedVisibility( showDebugInfo && controllerViewState.controlsVisible, modifier =