Related to #64
If an error occurred while querying for a season's episodes, the app
would crash instead of display the error message.
This PR fixes the app crash, but not the underlying query issue. It also
changes the error page to show a button for sending logs to the server
immediately.
This is a workaround for jellyfin/jellyfin-web#7267 to ensure the client
logs are not valid JSON and can be rendered on the `10.11.x` web UI.
Related to #82
Remembers the page position & focused item on both Movie & Series detail
pages
Only loads similar movies & series once so that if you click on one and
go back, it doesn't refresh the entire list
Remember the tab on the Favorite page (if remember tabs is enabled in
settings)
Closes#74
Adds an option to download subtitles from a remote source. This uses the
Jellyfin server's API, so you need to install a plugin on your server
that provides subtitle searching such as the [official OpenSubtitles
plugin](https://github.com/jellyfin/jellyfin-plugin-opensubtitles).
Initially it will search for subtitles in the device's current language,
but you can search for a different language if needed.
Update the search page results to indicate whether 1) the search is in
progress, 2) there are no results, or 3) the actual results. This makes
it clear when there's actually no results versus the search is just
running slowly.
Also search for collections as well
* 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
When the home page loaded, it would only try to focus on the "Resume"
row even if there were no items in that row (so it doesn't appear). This
resulted in the focus defaulting instead to the nav drawer.
This PR fixes focus so it always starts with the first item in the first
row of the home page.
Add a popup when long clicking items on the home page
Also fixes a bug where the latest Recorded TV row would show non-Live TV
items if nothing has ever been recorded.
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!
Closes#1
Adds support for Live TV & DVR functionality.
TODO:
- [x] EPG / TV Guide
- [x] View DVR schedule
- [x] Play live TV channel
- [x] Record program
- [x] Record Series
- [x] Cancel recordings
- [x] Access previously recorded content
Gathering a bunch of smaller changes into one PR
### Changes
* Changes the behavior of the "combine continue watching & next up" to
apply only to TV Shows which basically makes the 'Continue Watching'
just movies and 'Next Up' just TV episodes
* Banner card (Series & Home pages) will stretch images to fit
* Close the "more" nav item if navigating to a non-more one (from #60)
* Fix episodes not updating/marked played when returning to series page
after playing multiple episodes
* Don't show the Intro/Outro skip button the Next Up dialog is showing
* Always should black background for playback, even when loading
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.
Fixes#46
Makes sure that the suggested items fetched on Movies & TV Shows
recommended tab are for the current user which should respect content
restrictions and other permissions.
Fixes:
* Issue from #39 where pressing back from playback went back two screens
instead of one
* Sometimes having to click on a server twice to switch to it
* Update UI when marking a single season as watched
* Fix needing to press back twice to hide skip segment buttons
* Fix skip intro/outro behaviors being swapped
* Always attempt to save playback progress when stopping playback
Related to #18
Ensures that when trying to auth via Quick Connect, the button to use a
username/password instead is always shown.
Additionally, errors that occur during the quick connect process are
displayed instead of just logging in the background.
This PR does not change the Quick Connect behavior or code, it's just UI
improvements for when an error occurs with Quick Connect.
Adds a setting to configure pass out protection which, when enabled,
will stop auto playing next up episodes if the user hasn't interacted
with the app within the configurable 1-3 hours.
Ensures playback (both theme song & video) is stopped when the app is
backgrounded, like hitting the home button.
Fixes a UI glitch when marking a series as played.
Adds support for playing local movie trailers. External trailers, such
as ones on YouTube, are not yet supported.
Also fixes a couple issues with request handlers
Previously if the app is playing a show's theme song and the app is
backgrounded, such as by pressing Home, the music would continue. This
PR fixes that.
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.
Closes#20
Show subtitles slightly smaller and higher when the controls are visible
This needs to be revisited when custom subtitle styling is implemented
(#11).
Fixes:
- Rounded corners on dialogs during playback
- Follow up to #23 to show errors on Main thread
- Show login errors higher up to ensure they aren't blocked by the
keyboard
- Faster tracks switching by not recomposing the player surface
- Refocus on controller buttons after switching tracks
- Show playback errors when they occur
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#10
Adds toggles to disable direct play of AC3 audio, ASS subtitles, and PGS
subtitles. Also a toggle to force down mixing audio to stereo.
This copies the behavior from the official client. I'm not sure if there
is a way to determine if direct playing AC3 is possible because it can
depend on devices other than the Android TV device such as a sound bar.
So it's up to the user to toggle off support if necessary.
Attribution: This PR uses on [code from the official
client](c775603df4/app/src/main/java/org/jellyfin/androidtv/util/profile/deviceProfile.kt).