spocky / miproja1

364 stars 10 forks source link

card showing thumb instead of posterart #104

Open lpuglia opened 7 months ago

lpuglia commented 7 months ago

just installed latest version and i noticed that now the cards of a channel are showing by default what i think is called the Thumbnail rather than the PosterArt. Normal Android TV behaviour would be to show the PosterArt by default and show the Thumbnail only when the card is selected. Any reason about this change?

spocky commented 7 months ago

The Google api allowing an app to get a program picture has a bug (never fixed), that made thumbnails requests return the poster arts. I've fixed it on my side.

Theoretically, thumbnails are not supposed to have a different aspect ratio than poster arts (in that case, they would be called something like DVD covers). As their name indicates, they are mostly supposed to be smaller versions to be used on small UI components (that would be the launcher cards), whereas the poster arts are supposed to be high quality images to use on large UI components or full screen (such as wallpapers).

Following the theory, using a thumbnail ("small" picture) is probably recommended for a launcher as it will require less memory and will open faster. I haven't been able to confirm this theory, though, because I couldn't find an app that provides thumbnails.

To be fair, it seems that most apps do whatever they want with poster: some offer high quality (fhd pictures) that take time and resources to load on a small card but give a nice looking "program wallpaper", others are low quality (still enough for a card), but too small for "program wallpaper".

Which app channel has been impacted by the latest update ?

lpuglia commented 1 month ago

Hey, sorry for the delay and the imprecise question, here is what i really meant:

I'm writing my own app for android tv, my undestanding at the moment is that there are two fields you can set in a ProgramPreview that are gonna show an image:

val contentValues = ContentValues().apply {
[..]
            put(PreviewPrograms.COLUMN_POSTER_ART_URI, posterUriString)
            put(PreviewPrograms.COLUMN_THUMBNAIL_URI, thumbnailUriString)
[..]
}

in the default tv launcher (com.google.android.tvlauncher), the default image that is shown is COLUMN_POSTER_ART_URI, when you focus the card the image is switched to COLUMN_THUMBNAIL_URI.

Meanwhile the behaviour of projectivity is a bit different: if only COLUMN_POSTER_ART_URI is set, poster art is used as a preview of the card; if both COLUMN_POSTER_ART_URI and COLUMN_THUMBNAIL_URI are set, the thumbnail takes priority and the poster is never shown.

I just would like projectivity to behave like the default launcher and if that is not possible i would like to see the poster take priority over the thumbnail, thanks!

lpuglia commented 4 weeks ago

@spocky any opinion on this?