Adds a button to filter contents next to the sort button on grid pages
The filters are saved and restored you return to the page. It works with
#278, playing the filtered items in the sorted order.
The drop down menus for both sorting & filtering are updated to closer
match the overall look.
Filters for:
- Played or unplayed
- Favorite or not
- Genres
- Community (star) rating
- Parental rating
- Video type (HD vs SD, etc)
- Release year and/or decade
## Details
This PR updates the device profile used by ExoPlayer. It should more
accurately report support for HDR formats.
## Acknowledgements
This PR contains a commit (cd6351912af72d274b0baf50af4d777b986f0f46)
that has code copied and slightly modified from
https://github.com/jellyfin/jellyfin-androidtv `v0.19.4`.
Major acknowledgement & credit to the Jellyfin Android TV developers for
this code!
## Issues
Related to #15
## Details
This PR ended up being larger than I meant. It contains some UI changes
and code organization.
## TV & DVR
- Uses the "Recordings" library position to order "Recently added in
Recordings" instead of Live TV position
- The times at the top of the TV guide are more distinguishable from
each other
- Removes the duplicate title on the Live TV->Recordings tab
## Other libraries
- Bare-bone support for "Music Video" libraries. Full support for "Music
Video" is work-in-progress in #267, but the libraries should be
browseable now.
- Bare-bone support for "Other" (aka Mixed Movies & TV Shows) libraries.
Note: this type of library is considered [broken and
deprecated](https://jellyfin.org/docs/general/server/media/mixed-movies-and-shows),
so this won't be expanded any further
## Grids
Updates various grid types to use poster vs wide cards. For example,
Favorite TV Episodes will use episode images in a wide card now.
## Issues
Closes#249Closes#271
`PlaybackViewModel` was becoming very unwieldy at over 1,300 LOC. This
PR breaks it up and simplifies some fields so it's easier to work with.
There are no user facing changes
## Details
Adds the logo (if available) to the upper left corner of the playback
controls overlay.
I am still experimenting with how logos can be used on the details
pages. It's problematic because of the variety of colors, eg dark logos
can be hard to see on the dark background.
## Issues
Related to #92
## Screenshot
<img width="1280" height="771" alt="logo_playback Large"
src="https://github.com/user-attachments/assets/c6cb43fe-f3bc-42a4-9ef4-0397267e3073"
/>
## Description
Shows local extras (clips, interviews, etc) for movies and tv shows
Extras are grouped by type and clicking on the type will go to a grid
page listing all of the items. However, if there is just one of that
type, it is shown in-line.
Trailers still have on their own row. And theme songs & theme videos are
not shown.
## Issues
Closes#123
Now when initiating a user or server switch, you can't back out of it
and must select a user/server. This will be useful when PIN code are
implemented down the road.
The app will now disconnect the web socket when backgrounded.
Also lots of internal refactoring
Closes#148Closes#83
Remember the chosen sort order & direction per user profile on device.
Also adds a few more sort options.
This is only saved on the device and not saved/loaded from the server.
Fixes#144
The error was occurring when querying for server information. The
endpoint used returns information about previous installations and seems
some may be missing a field marked as required in the API. This causes
the deserialization error.
Since the query is just to get the server's name for the UI, we can use
the public server info endpoint instead and also wrap it in a try-catch
since it's not absolutely required.
Additionally, this PR adds exceptions for cases when necessary
information is not available (user id, access token, etc).
Simplifies the process for finding the right season id & episode id
after clicking on an episode. This can also improve loading time for
seasons that have a large number of episodes (hundreds).
Also fixes handling for "unknown" seasons which don't have an
index/season number.
* Revert transparent cards from #61
* Don't show queue during playback if playing the final item
* Fix nav drawer collection page from showing everything recursively
* Immediately hide the skip intro button when pressed
Adds ability to send app crash reports to the last connected server. The
app prompts you before sending. There is an advanced settings to disable
this as well.
Additionally, there is an advanced settings button to send the app logs
to the current server.
The resulting reports can be found on the server's web UI under
Dashboard->Logs
If sharing the logs, make sure there's no private information present!
Adds support for customizing the items listed on the left side
navigation drawer menu. Each item can be toggled on/off in settings.
The hidden ones are still accessible under "More" on the nav drawer,
which only appears if some items are hidden.
Additionally, if any of menu items are hidden, their "latest" content
will not appear on the home page.
The setting is stored per user profile.
Closes#38
Add a nav drawer link to a new favorites page which shows favorited
Movies, TV Shows, and Episodes.
Also adds a button to movies & tv shows to set/unset favorite status.
Click the version in settings 3 times to open this new debug page which
displays internal information such as settings, server info, app info,
and database info. It will also show recently logcat messages.
Adds support for playing different versions of a media item.
Additionally, you can pick the audio or subtitle tracks for the chosen
version.
The file with the highest resolution is the default, but you can switch
versions or tracks in the "More" menu.
These choices are persisted across playbacks, just as in #26.
Remembers changes in playback tracks across playbacks. So, if you change
the audio track, quit the app, and return to the same id, the app will
play the audio track previously chosen.
Additionally, this PR fixes a UI inconsistency when there are multiple
versions of a item. Previously sometimes the audio/subtitle tracks for
wrong version would be shown during playback.
Fixes#21
Might also address #18
Fixes an issue with logging using username/password due to network
access on wrong thread exceptions.
Also adds better handling when deleting users or servers, especially if
it's the current one.
Adds a tab to the TV Show & Movie screens which displays the genres in
that library as a grid.
You can select the genre to see the items in that library for the genre.
This PR also adds backend changes for further filtering to implement
#13.