## Description
Now that the SDK level is updated, many dependencies can be updated as
well.
This includes a fix from `wholphin-extensions` for a TLS timeout issue
on some devices using MPV
(https://github.com/damontecres/wholphin-extensions/pull/13).
### Related issues
Fixes#1932
### Testing
Just basics on emulator & nvidia shield
## Screenshots
N/A
## AI or LLM usage
None
## Description
Updates the compile & target SDKs to 37 (Android 17).
The only required change is to support the new `ACCESS_LOCAL_NETWORK`
permission. This is required for Android 17 devices to auto discover
Jellyfin servers on the local network. Wholphin will prompt for
permission and if granted, use the discover servers feature. If
permission is not granted, the user must enter the server URL manually.
### Related issues
N/A, but several dependency renovate PRs are blocked by this
### Testing
I tested with a regular Android 17 emulator. There are no Android TV 17
images (or probably even devices) available yet.
## Screenshots
N/A
## AI or LLM usage
None
## Description
Updates `libass-android` to `v0.5.0`. There aren't any changes from
`v0.5.0-beta01`, so this is just a formal release.
### Related issues
Fixes#1554Fixes#1561Fixes#1678
Pr for the beta release: #1752
### Testing
N/A, I tested the beta
## Screenshots
N/A
## AI or LLM usage
None
## Description
Updates `libass-android` to `0.5.0-beta01`. While this is a beta
release, from my testing it is very stable. It also fixes several
issues, including crashes, as well. So I want to merge into the develop
branch, but it can always been reverted if necessary.
### Related issues
Should fix these issues:
- #1554
- #1561
- #1678
### Testing
On emulator & nvidia shield
## Screenshots
N/A
## AI or LLM usage
None
## Description
Updates several dependencies and cleans up some naming and duplicates.
There are no user facing changes in this PR
### Dev notes
There is a workaround needed to upgrade to Kotlin 2.4.0 to avoid
https://github.com/google/ksp/issues/2964
There are a few more dependencies, but they require increasing the
target SDK to 37, but I don't want to do that yet. API 37 requires
requesting a [new permission for local network
access](https://developer.android.com/privacy-and-security/local-network-permission).
Since that is a critical requirement for Wholphin/Jellyfin, I need to
spend more time reviewing the dev guide to make sure it's handled
correctly.
### Related issues
Replaces #1593
Replaces #1512
Replaces #1465
Replaces part of #1446
### Testing
Unit tests and quick emulator run
## Screenshots
N/A
## AI or LLM usage
None
## Description
Uses the newer version of `wholphin-extensions` which now has the Kotlin
code, so this PR removes the MPV Kotlin code from this repo. Also
updates gradle to use providers.
There are no user facing changes
### Dev notes
`wholphin-mpv` can be provided by:
1. [Fetching pre-built
binaries](https://github.com/damontecres/wholphin-extensions#pre-built-binaries)
(Preferred method for devs)
2. Building `wholphin-extensions` from
[source](https://github.com/damontecres/wholphin-extensions#build-from-source)
3. Using `wholphin-mpv-stub` (the new module added in this PR) which
allows for compiling Wholphin, but will throw exceptions if MPV is used
during runtime
### Related issues
Related to #1172
### Testing
Emulator
## Screenshots
N/A
## AI or LLM usage
None
## Description
Refactors all usages of `LiveData` into flows in keeping with best
practices. This also includes refactoring several `ViewModel`s to
combine multiple `LiveData` into a new single `StateFlow`.
There are no user facing changes
### Related issues
None
### Testing
Emulator
## Screenshots
N/A
## AI or LLM usage
None
## Description
Enables minify & resource shrinking for release builds. This should
improve overall performance a bit. It also decreases the apk size by
~15%.
Also updates AGP
### Related issues
N/A
### Testing
Emulator, but needs more testing before a final release
## Screenshots
N/A
## AI or LLM usage
None
## Description
1. Fixes when moving from nav drawer to home page content, focus would
sometimes move up a row
2. Fixes when moving up/down between rows, focus would sometimes move to
the later card (usually the last visible)
The second above is fixed by downgrading `tv-material` to
`1.0.1-alpha01`. Switching to
[`1.0.1-beta01`](https://developer.android.com/jetpack/androidx/releases/tv#tv-material-1.1.0-beta01)
or newer causes the bug. Not clear if its a bug in the library or
Wholphin though.
### Related issues
Fixes#1359
### Testing
Emulator
## Screenshots
N/A
## AI or LLM usage
None
## Description
Just a lot of dependency bumps. There are no user facing changes.
Switches to the new Android gradle DSL now that the protobuf plugin is
compatible.
### Related issues
None
### Testing
Emulator
## Screenshots
N/A
## AI or LLM usage
None
## Description
Add better ASS/SSA support to ExoPlayer by using
[`libass-android`](https://github.com/peerless2012/libass-android).
This is enabled with the "Use libass for ASS subtitles" advanced
settings for ExoPlayer. It is enabled by default.
### Related issues
Related to #22
Replaces reverted #569Fixes#1107
## Description
Updates to use the latest wholphin-extensions which includes
https://github.com/damontecres/wholphin-extensions/pull/2
The crash in #1239 occurs if "AV1 software decoding" is enabled and
seemingly only if the app was installed via APK, including app stores.
### Related issues
Fixes#1239
### Testing
Emulator, nvidia shield
## Screenshots
N/A
## AI or LLM usage
None
## Description
This PR moves the native components (ffmpeg decoder, av1 decoder, &
`libmpv`) to https://github.com/damontecres/wholphin-extensions. They
can be retrieved as gradle dependencies now.
This allows for contributors to more easily include these extensions
when building Wholphin locally.
There are no user facing changes in this PR.
Note: the kotlin code for interfacing with `libmpv`, ie `MPVLib` &
`MpvPlayer`, is still in this repo for now.
### Related issues
Related to #828
### Testing
Emulator
## Screenshots
N/A
## AI or LLM usage
None
Unfortunately, there seem to be issues with switching to
`libass-android`, so reverting those changes so I can cut a release and
troubleshoot later.
Reverts damontecres/Wholphin#569
## Description
Add better ASS/SSA support to ExoPlayer by using
[`libass-android`](https://github.com/peerless2012/libass-android).
This is enabled with the "Use libass for ASS subtitles" advanced
settings for ExoPlayer. It is enabled by default.
### Related issues
Related to #22
## Description
This PR is mostly a proof-of-concept for setting up automated UI
testing. The tests use Roboelectric so they can run without an emulator.
There is also a sample instrumented test for running on emulators or
devices for future tests.
It adds two basic automated UI tests for adding a server. These are sort
integration tests because they use the actual implementations for the
view model and services like `ServerRepository` and `JellyfinServerDao`.
Also, moves the bulk of `MainActivity`'s compose code into a function
for future tests.
### Related issues
N/A
### Testing
Local testing
## Screenshots
N/A
## AI or LLM usage
None
## Description
This PR has no user facing changes.
Upgrade AGP to 9.x and Gradle to 9.x. Also updates some dependencies as
well.
Note: still using deprecated `android.newDsl=false` because the protobuf
plugin is not yet compatible:
https://github.com/google/protobuf-gradle-plugin/issues/793.
### Related issues
N/A
### Testing
Emulator
## Screenshots
N/A
## AI or LLM usage
None
## Description
Update dependencies
### Related issues
Just updating some of the dependencies in #858 that don't require AGP 9
### Testing
Emulator
## Screenshots
N/A
## AI or LLM usage
None