Commit graph

478 commits

Author SHA1 Message Date
Ray
4f1c730736
Don't process reqeued MPV commands (#633)
## Description
This is an embarrassing bug... In #619, a change was made to avoid a
race condition and wait for the video output surface to be ready by
re-enqueuing commands. Except I missed cancelling executing the current
command.

This meant the command would both be executed and queued again. So, if
attaching the video surface takes a while, such as needing to wait for a
refresh rate change, _a lot_ of commands could have been added to the
queue and trigger a constant start-stop playback loop.

I think technically it would eventually resolve itself, but can take a
while.

### Related issues
Should fix #626
2026-01-04 17:25:43 -05:00
Ray
02d6a98ba8
More subtitle selection fixes (#630)
## Description
Fixes more subtitle selection issues, primarily fixes the sort order of
subtitle streams. But also prefer default subtitle in some cases

Adds test cases for the described situations below

Also adds an option in the More dialog to clear track selections made on
an item/series.

### Related issues
Addresses
https://github.com/damontecres/Wholphin/issues/570#issuecomment-3707255647
&
https://github.com/damontecres/Wholphin/issues/570#issuecomment-3707292928
2026-01-04 17:06:54 -05:00
joshjryan
3d4b06db44
Guard against navigating to a non-existant tab (#629)
Just make sure we don't crash if the selectedTabIndex isn't a positive
int. Fixes #628.

---------

Co-authored-by: Damontecres <damontecres@gmail.com>
2026-01-03 18:38:07 -05:00
Ray
9345d0a698
Fix home header not updating & row movement (#627)
## Description
Removes an incorrect optimization for showing the home page header

Separates logic for focusing on rows on the home page

### Related issues
Fixes #624 
Fixes #620
2026-01-03 18:09:40 -05:00
Ray
4d9e3cb6de
Fix MPV race condition causing no video output (#619)
## Description
Fixes a race condition where `libmpv` is beginning playback before it
has been attached to the output video surface.

The solution is for the handler to re-enqueue commands if MPV is either
not initialized or not attached yet. Once `libmpv` is ready, the
commands will be processed.

### Related issues
Should fix #576
2026-01-02 14:13:03 -05:00
Ray
0fe8e5d988
Show button for trailers instead of card row (#618)
## Description
On both movie & series detail pages, show a button to play trailers
instead of the row of cards below.

The button works like this:
- If no trailers, the button shows "No trailers" and is
disabled/non-clickable
- If only a single trailer, the button shows "Play trailer" and clicking
it plays the trailer
- Otherwise, shows "Trailers" and clicking displays a dialog to choose
one

Local trailers are shown first in the list. Then there is an attempt to
sort the trailers for the dialog so that names with "Official Trailer"
or "Official Theatrical Trailer" are listed first and "Teaser" is listed
last. This isn't perfect and doesn't work for non-English, but there's
no other metadata to use.

### Related issues
Closes #408
2026-01-02 13:50:45 -05:00
Damontecres
b8e8a1d913
Fix yet another focus problem 2026-01-02 11:50:23 -05:00
Ray
83a543ad7d
Fix some crashes due to bad UI state (#617)
## Description
Fixes two possible crashes:
- When saving view options for a favorite page tab
- When there are no results on a grid page/tab
2026-01-02 00:24:17 -05:00
Ray
0958578082
Fixes websocket subscription, date invalidation, & theme music (#616)
## Description
Makes sure the `ServerEventListener` and `DatePlayedInvalidationService`
are injected so that they run. This was broken in #538.

Also fixes the a delayed stopping of theme music

Also fixes for detecting a non-seamless refresh rate switch

### Related issues
Fixes #615
Fixes #568
2026-01-01 22:19:36 -05:00
Ray
d15ffa13b8
Merge pull request #602 from damontecres/translations-2025-12-30
Translations as of 2025-12-30
2026-01-01 15:07:46 -05:00
Ray
977db0474a
Small bug fixes (#614)
## Description
Fixes the screen showing endless loading when toggling on automatic sign
in

Ports a bug fix to the device profile from the official app
(https://github.com/jellyfin/jellyfin-androidtv/pull/5268)
2026-01-01 15:07:32 -05:00
Ray
3c11d4ba12
Fix some issues with restoring focus between pages (#613)
## Description
Yet more focus issue fixes:
- Restore focus when going back to home page from a later row
- Don't jump to episode row when going back to series overview (such as
from a person page)

This PR also changes how backgrounding the app during playback works.
Now the only goes back to the previous page when the app comes back to
the foreground. This helps with focusing back on the page properly.
There's also a bit more clean up performed.
2026-01-01 14:37:32 -05:00
Ray
26a913b05e
Support resolution switching (#597)
## Description
Adds a settings for automatic resolution switching. When enabled, the
app tries to output content at the video stream's resolution.

For example, if playing 1080p content on a 4K TV, the actual output by
the Android TV device will be 1080p.

This works in hand-in-hand with automatic refresh rate switching. So
enabling both allows for the output to match both refresh rate and
content resolution. Outputting the best refresh rate is preferred over
best resolution.

Also, shows the current display mode in the playback debug info.

### Related issues
Closes #428 
Fixes #531
2025-12-31 17:11:30 -05:00
Ray
38697b011d
Switch from synchronized mutations to copy-on-write (#609)
## Description
Instead of synchronizing all access to event observers, use a
`CopyOnWriteArrayList`. This means sending events doesn't need to lock.
2025-12-31 16:10:29 -05:00
Ray
7e5a491d8e
Allow trusting user provided SSL/TLS certificates (#608)
## Description
Allow for trusting user added certificates

### Related issues
Closes #254
2025-12-31 14:13:07 -05:00
Ray
a5a7ed97b7
A few more UI tweaks (#603)
## Description
- Use series poster for seasons without a poster
- Larger logo on playback overlay
- Fix an issue where corner text on card on the home page would not
properly update

### Related issues
Closes #590
Closes #601
Fixes
https://github.com/damontecres/Wholphin/pull/586#issuecomment-3698613927
2025-12-30 18:39:48 -05:00
Damontecres
2b68b91d9e
Fix invalid string characters 2025-12-30 13:49:20 -05:00
lazigeri
b62cc84bf9
Translated using Weblate (Hungarian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
lazigeri
bad567f2bb
Translated using Weblate (Hungarian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
SimonHung
d2e8440a03
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2025-12-29 20:39:11 +00:00
lazigeri
0e0e0b12eb
Translated using Weblate (Hungarian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
lazigeri
716d81f0d2
Translated using Weblate (Hungarian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
SimonHung
b9a4bbd3f3
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2025-12-29 20:39:11 +00:00
jab3
f463e707cc
Translated using Weblate (Spanish)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/es/
2025-12-29 20:39:11 +00:00
butterflyoffire
ab9dbed022
Translated using Weblate (Kabyle)
Currently translated at 14.9% (47 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/kab/
2025-12-29 20:39:11 +00:00
butterflyoffire
1c92934b33
Added translation using Weblate (Kabyle) 2025-12-29 20:39:11 +00:00
opakholis
5a8dc23989
Translated using Weblate (Indonesian)
Currently translated at 97.7% (308 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/id/
2025-12-29 20:39:11 +00:00
oyvhov
c74c40dfd8
Translated using Weblate (Norwegian Nynorsk)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nn/
2025-12-29 20:39:11 +00:00
lazigeri
f240498aaa
Translated using Weblate (Hungarian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
texxlan
8f923c187f
Translated using Weblate (German)
Currently translated at 87.9% (277 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2025-12-29 20:39:11 +00:00
lazigeri
a2e72ddf45
Translated using Weblate (Hungarian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
jab3
5c9ca3b24a
Translated using Weblate (Spanish)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/es/
2025-12-29 20:39:11 +00:00
texxlan
295faf51aa
Translated using Weblate (German)
Currently translated at 77.1% (243 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2025-12-29 20:39:11 +00:00
lazigeri
6af8204402
Translated using Weblate (Hungarian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
OmriKumri
dda8baa46d
Translated using Weblate (Hebrew)
Currently translated at 10.7% (34 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/he/
2025-12-29 20:39:11 +00:00
OmriKumri
6f5e0d82d1
Translated using Weblate (Hebrew)
Currently translated at 6.6% (21 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/he/
2025-12-29 20:39:11 +00:00
RabSsS
6cb320c43f
Translated using Weblate (French)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/fr/
2025-12-29 20:39:11 +00:00
Outbreak2096
a2535b098d
Translated using Weblate (Chinese (Simplified Han script))
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hans/
2025-12-29 20:39:11 +00:00
adambibor
aad81f85c9
Translated using Weblate (Hungarian)
Currently translated at 99.3% (313 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
lazigeri
8ee6b9d8b5
Translated using Weblate (Hungarian)
Currently translated at 99.3% (313 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
arcker95
3cd26759f4
Translated using Weblate (Italian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/it/
2025-12-29 20:39:11 +00:00
Priit Jõerüüt
0ccdf391de
Translated using Weblate (Estonian)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/et/
2025-12-29 20:39:11 +00:00
American_Jesus
8d4fcb377d
Translated using Weblate (Portuguese)
Currently translated at 100.0% (315 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/pt/
2025-12-29 20:39:11 +00:00
lazigeri
dfa1ba079c
Translated using Weblate (Hungarian)
Currently translated at 81.5% (257 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
lazigeri
ff8a9a7125
Translated using Weblate (Hungarian)
Currently translated at 78.7% (248 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/hu/
2025-12-29 20:39:11 +00:00
lazigeri
225b3c0455
Translated using Weblate (German)
Currently translated at 76.8% (242 of 315 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/de/
2025-12-29 20:39:11 +00:00
SimonHung
1289bed0c4
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 88.5% (278 of 314 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2025-12-29 20:39:10 +00:00
oyvhov
955d577624
Translated using Weblate (Norwegian Nynorsk)
Currently translated at 100.0% (314 of 314 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nn/
2025-12-29 20:39:10 +00:00
SimonHung
76db702564
Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 87.2% (274 of 314 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/zh_Hant/
2025-12-29 20:39:10 +00:00
oyvhov
dbe8074997
Translated using Weblate (Norwegian Nynorsk)
Currently translated at 8.2% (26 of 314 strings)

Translation: Wholphin/Wholphin
Translate-URL: https://translate.codeberg.org/projects/wholphin/wholphin/nn/
2025-12-29 20:39:10 +00:00