Use the server scoring API when adding a new server. This allows just
entering a hostname or IP address without the scheme (`http`/`https`) or
port in most cases.
Note: non-standard ports would still need to be provided
Closes#5Closes#296
## 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
Adds "Bold Blue" and Black/OLED themes
Also tweaks Orange & Green a bit to make the borders stronger and
backgrounds darker/less colored
Related to #91
Fixes the nav drawer not being focused on when pressing back to open it
on the home page
Dev notes: I think the bug was introduced in #228 due to the new
`Column` not being focusable, but we don't need it to be since we want
to focus on the selected page.
## 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
## Details
Adds support for a few more media remote buttons
Adds support for common controller buttons
### Dev notes
Lifts the playback dialogs to the top level allowing them to be called
from anywhere during playback
## Issues
Closes#260
If playing with transcoding, changing tracks during playback will
continue to transcode instead of possibly switching to direct play.
Also support embedded subtitles that are being delivered externally.
Fixes#256Fixes#257
Reduces the size of the rows on the TV guide allowing for 7-8 rows to
show. Also hide the tab row if scrolled down on the guide.
Move the "watch live" button to be initially focused
Channels are sorted with favorites appearing first
Back button behavior is tweaked to move to start of row first, then top
of the guide, then normal back behavior
Closes#259
Related to #250
`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
Adds grid layouts specifically for playlists and collections/boxsets
instead of falling back to the generic grid.
In #238, the generic grid was updated to show 4 columns of 16x9 cards.
Now, collections will use 2x3 (poster) cards (like Movies) and playlists
will use square cards.
This also means collections & playlists have more relevant sort options.
Fixes#243Closes#226