Commit graph

31 commits

Author SHA1 Message Date
Damontecres
1d7ddd713b
Bump & clean up some dependencies (#1660)
## 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
2026-07-03 11:36:54 -04:00
renovate[bot]
06d7c85027
Update Github Actions (#1620) 2026-07-01 19:39:05 -04:00
Damontecres
a8ade9171e
Update wholphin-extensions with newer MpvPlayer (#1365)
## 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
2026-06-26 12:50:45 -04:00
renovate[bot]
6a18e30314
Update Github Actions to v7 (#1585) 2026-06-21 17:06:18 -04:00
renovate[bot]
3fd2cbbbd6
Pin dependencies (#1589) 2026-06-18 18:58:34 -04:00
Damontecres
81e5f31401
Workaround for resource shrinking w/ split ABIs
Some checks failed
Create release / publish (push) Has been cancelled
2026-05-27 13:56:18 -04:00
Damontecres
bfb49b80be
Enable minify optimizations for release builds (#1437)
## 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
2026-05-23 14:08:38 -04:00
Ray
8f98526558
CI & Docs updates (#1284)
Increases the heap size for gradle builds in CI

Also adds some docs about where/how app settings are stored.

No user facing changes
2026-04-20 17:41:31 -04:00
Damontecres
57e954f502
Fix build script
Some checks failed
Create release / publish (push) Has been cancelled
2026-04-12 09:01:24 -04:00
Ray
287a7b0c69
Create FireTV specific app variant (#1230)
## Description
Adds a variant of Wholphin targeted for the Amazon Fire TV App store.

### Related issues
See #1192 for more details

### Testing
Emulator

## Screenshots
N/A

## AI or LLM usage
None
2026-04-11 19:30:23 -04:00
Damontecres
ac13ce5713
Fix globstar quoting 2026-04-06 18:02:42 -04:00
Damontecres
bc5bd2f852
Enable globstar 2026-04-06 17:06:02 -04:00
Ray
31465051ff
Dev: use build product flavors for app store release (#1205)
## Description
Instead of applying a code patch, this PR uses build time [product
flavors](https://developer.android.com/build/build-variants#product-flavors)
to define the existing default and an app store variant. This is more
robust than maintaining a patch file and making sure it is applied
before building.

The app store variant applies the same code changes (removing install
permission, requiring leanback, & setting `UpdateChecker.ACTIVE`), but
via manifest placeholders/merging and `BuildConfig` entries.

There are no user facing changes.

### Related issues
None

### Testing
Built the variants and verified manifest changes via aapt

## Screenshots
N/A

## AI or LLM usage
None
2026-04-06 15:24:20 -04:00
Ray
4ea21be430
Move native builds to wholphin-extensions (#1172)
## 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
2026-03-31 18:10:40 -04:00
renovate[bot]
6ea5fd2121
Update actions/upload-artifact action to v7 (#1009)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[actions/upload-artifact](https://redirect.github.com/actions/upload-artifact)
| action | major | `v6` → `v7` |

---

### Release Notes

<details>
<summary>actions/upload-artifact (actions/upload-artifact)</summary>

###
[`v7`](https://redirect.github.com/actions/upload-artifact/compare/v6...v7)

[Compare
Source](https://redirect.github.com/actions/upload-artifact/compare/v6...v7)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/damontecres/Wholphin).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4zNi4yIiwidXBkYXRlZEluVmVyIjoiNDMuMzYuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 14:34:44 -05:00
Damontecres
69be7311ab
Fix verify step 2026-02-24 16:15:04 -05:00
renovate[bot]
c4cd1fbfd3
Update actions/checkout action to v6 (#965)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/checkout](https://redirect.github.com/actions/checkout) |
action | major | `v5` → `v6` |

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

### [`v6`](https://redirect.github.com/actions/checkout/compare/v5...v6)

[Compare
Source](https://redirect.github.com/actions/checkout/compare/v5...v6)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/damontecres/Wholphin).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNi41IiwidXBkYXRlZEluVmVyIjoiNDMuMjYuNSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-24 10:24:26 -05:00
Ray
7424f812d8
Dev: add CI to build app store releases (#468)
Adding GHA workflows to build the app store releases

Also cleans up gradle build script a bit
2026-02-23 22:04:08 -05:00
renovate[bot]
6b068079fe
Update dependency python to 3.14 (#861) 2026-02-09 20:47:07 -05:00
renovate[bot]
6d5726a582
Update Github Actions (major) (#857)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [actions/cache](https://redirect.github.com/actions/cache) | action |
major | `v4` → `v5` |
| [actions/checkout](https://redirect.github.com/actions/checkout) |
action | major | `v5` → `v6` |
|
[actions/setup-python](https://redirect.github.com/actions/setup-python)
| action | major | `v5` → `v6` |
|
[actions/upload-artifact](https://redirect.github.com/actions/upload-artifact)
| action | major | `v5` → `v6` |

---

### Release Notes

<details>
<summary>actions/cache (actions/cache)</summary>

### [`v5`](https://redirect.github.com/actions/cache/compare/v4...v5)

[Compare
Source](https://redirect.github.com/actions/cache/compare/v4...v5)

</details>

<details>
<summary>actions/checkout (actions/checkout)</summary>

### [`v6`](https://redirect.github.com/actions/checkout/compare/v5...v6)

[Compare
Source](https://redirect.github.com/actions/checkout/compare/v5...v6)

</details>

<details>
<summary>actions/setup-python (actions/setup-python)</summary>

###
[`v6`](https://redirect.github.com/actions/setup-python/compare/v5...v6)

[Compare
Source](https://redirect.github.com/actions/setup-python/compare/v5...v6)

</details>

<details>
<summary>actions/upload-artifact (actions/upload-artifact)</summary>

###
[`v6`](https://redirect.github.com/actions/upload-artifact/compare/v5...v6)

[Compare
Source](https://redirect.github.com/actions/upload-artifact/compare/v5...v6)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/damontecres/Wholphin).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Ny4wIiwidXBkYXRlZEluVmVyIjoiNDIuOTcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-09 18:29:27 -05:00
Ray
494ff07b72
Fix smart & default subtitle selection logic (#579)
## Description
Fixes the logic for subtitle selection when using `Smart` or `Default`
server modes. Also takes into account unknown languages.

This is heavily inspired by [the server selection
logic](https://github.com/jellyfin/jellyfin/blob/release-10.11.z/Emby.Server.Implementations/Library/MediaStreamSelector.cs).
For better or for worse, Wholphin implements this client side.

### Related issues
Fixes #570
2025-12-27 14:22:40 -05:00
damontecres
c600d2eb28
Few dev related fixes (#291) 2025-11-21 16:05:27 -05:00
damontecres
72970b9a4b
Update release workflows (#290)
Use `gh` CLI instead of third-party actions
2025-11-21 15:26:25 -05:00
damontecres
46415fcdd0
Fix release workflow 2025-11-18 12:56:59 -05:00
damontecres
e3d94ad819
Increase JVM memory for gradle builds (#236)
Updates to increase amount of memory available during CI builds. I think
this will help with the intermittent `A failure occurred while executing
"com.android.build.gradle.tasks.PackageAndroidArtifact$IncrementalSplitterRunnable`
CI errors.

No user facing changes
2025-11-16 19:44:39 -05:00
damontecres
6be2662d4e
Add experimental MPV player backend (#161)
Experimental MPV player backend

Related to #14, #22, & #85

You can switch to MPV in advanced settings and toggle using hardware
decoding or not.

This uses code and buildscripts from
https://github.com/mpv-android/mpv-android, plus other third party
libraries to build MPV
2025-11-16 18:46:25 -05:00
Damontecres
c47a34a25f
Don't generate release notes 2025-11-01 09:53:33 -04:00
Damontecres
ba09ac09e4
Save build cache on main 2025-10-31 12:14:12 -04:00
damontecres
4945bef008
Cache ffmpeg build (#115)
Speed up PR builds by caching the ffmpeg module build artifact
2025-10-30 14:32:07 -04:00
damontecres
b1275ae210
Include ffmpeg extensions for some audio formats (#109)
Related to #103

Adds ffmpeg decoder module to support a few extra audio formats such as
AC3, EAC3, DTS, & TrueHD.

This increases the apk size by about 5.4mb (release 17.4mb->22.8mb), but
definitely worth it for the added support.
2025-10-29 20:34:41 -04:00
Damontecres
84dab0f7e7
Add workflows
Some checks failed
Create release / publish (push) Has been cancelled
2025-10-15 15:41:04 -04:00