Repository navigation
Conversation
Service pages (Netflix, HBO Max, Disney+, ...) only offered Movies / Series
tabs. They now show a row of genre chips under the tabs, built from TMDB's
movie and TV genre lists (series get Reality, Talk, Kids, ...), with an
"All genres" chip first.
- Each tab keeps its own genre; picking one reloads only that tab.
- The watch-provider query passes the genre as with_genres. The genre is
part of the collection cache key, so filtered pages never mix with
unfiltered ones.
- Chips wrap onto two lines instead of scrolling: a scrolling row inside
the TV grid was pivot-scrolled past its start in right-to-left layouts.
- Down from a tab lands on the applied genre chip. The chip group has no
focus restorer, which crashed ("Release should only be called once")
when focus was sent straight to a chip inside it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Streaming-service pages (Netflix, HBO Max, Disney+, Apple TV+, …) only had Movies / Series tabs. They now show genre chips under the tabs, so you can narrow a service to e.g. Reality or Crime.
How
ServiceGenreFilter: holds the genre id lists, decides whether a page can be filtered, and setstmdbGenreIdon watch-provider sources.MediaRepository.loadCollectionWatchProviderRefs: passestmdbGenreIdaswith_genreswithwith_watch_providers. The collection refs cache key already includestmdbGenreId, so filtered pages are cached separately.CollectionDetailsViewModel.selectGenre: restarts the load scope and reloads the changed tab first. The other tab's loaded items are kept, unless that tab was still loading.FlowRow) instead of scrolling. A horizontally scrolling row inside the TV grid was pivot-scrolled past its start in right-to-left layouts, which hid the first chips. Down from a tab goes to the applied genre chip throughfocusProperties. The chip group doesn't use the focus restorer: it crashed with "Release should only be called once" when focus was sent straight to a chip inside it.movieGenreNameRes/tvGenreNameResstrings. A second commit adds the Hebrew (values-iw) translations for those genre strings, which were missing; this also translates the Home genre tiles.Testing
ServiceGenreFilterTest(3 tests).CollectionDetailsLoadingTest,CollectionPresentationTest,CollectionTabPagingTestandTmdbCatalogLoadingTestall still pass.