wolfskin/app/src/main/java/com/github/damontecres/wholphin/util
Damontecres d705a3ea01
Add filtering & sorting for discover grid pages (#1614)
## Description
This PR adds sort & filter options for the discover grid pages.

Sort options:
- Popularity
- Release date
- "Community rating" (TMDB user vote)
- Name

Filter options:
- Genre
- Studio/Network
- "Community rating" (TMDB user vote)
- Parental rating
- Production status (TV only)

Also, two more tabs are added to the discover page for browsing movies
and TV. These are essentially the same as clicking "View more" on the
respective rows on the Discover tab.

### Limitations

This PR hardcodes the region used for studio listing and filtering to
"United States". I'll work on a follow up PR to enable users to specify
this.

The sort & filters are not persisted. I think they should be on the two
new tabs, but not elsewhere, but this will be a follow up PR.

### Related issues
Related to #702 
Implements some of #1511
Rewrites the filter logic in #1610 

### Testing
Emulator, but needs further testing

## Screenshots
<img width="1280" height="720" alt="discover_filters Large"
src="https://github.com/user-attachments/assets/cdefb95c-c4b7-4e06-9bac-b535d372ba03"
/>


## AI or LLM usage
None
2026-06-23 17:24:37 -04:00
..
mpv Several minor fixes (#1505) 2026-06-03 20:47:07 -04:00
profile Port two changes to ExoPlayer device profile from the official app (#1263) 2026-04-19 15:20:46 -04:00
ApiRequestPager.kt Fix crash on certain grid pages when the app is sent to the background (#1605) 2026-06-20 20:06:34 -04:00
BlockingList.kt Add a lot of code documentation (#1145) 2026-03-29 10:52:25 -04:00
CodecUtils.kt Rebrand 2025-10-15 15:27:30 -04:00
Constants.kt Play or shuffle series, season, collections, & playlists from context menu (#1544) 2026-06-10 19:30:07 -04:00
CoroutineContextApiClient.kt Use Wholphin-specific dispatchers (#1583) 2026-06-18 11:17:19 -04:00
CrashReportSenderFactory.kt Add a lot of code documentation (#1145) 2026-03-29 10:52:25 -04:00
DebugLogTree.kt Add a lot of code documentation (#1145) 2026-03-29 10:52:25 -04:00
DiscoverRequestPager.kt Add filtering & sorting for discover grid pages (#1614) 2026-06-23 17:24:37 -04:00
ExceptionHandler.kt Rebrand 2025-10-15 15:27:30 -04:00
LoadingState.kt Only show view more card if row has more items (#1493) 2026-05-30 17:41:44 -04:00
LocalDateSerializer.kt Add option to remove item from Continue Watching and Next Up rows (#1140) 2026-04-07 16:04:21 -04:00
Media3SubtitleOverride.kt Add setting for subtitle outline size (#375) 2025-12-05 16:55:46 -05:00
RequestPager.kt Use Wholphin-specific dispatchers (#1583) 2026-06-18 11:17:19 -04:00
SearchRelevance.kt Search page improvements (#709) 2026-05-13 10:02:33 -04:00
TrackActivityPlaybackListener.kt Several small fixes (#1612) 2026-06-22 18:38:19 -04:00
TrackSupport.kt Update style for ktlint 1.8 (#390) 2025-12-06 18:11:07 -05:00
TransformList.kt Add a lot of code documentation (#1145) 2026-03-29 10:52:25 -04:00
Version.kt Several small fixes (#1455) 2026-05-25 13:27:04 -04:00
WholphinDispatchers.kt Use Wholphin-specific dispatchers (#1583) 2026-06-18 11:17:19 -04:00