Commit graph

78 commits

Author SHA1 Message Date
Ray
9ae4965c2a
Add resume/continue watching items to Android TV watch next row (#372)
## Details

Adds resume and continue watching items for the logged in user to the
Android TV OS level watch next "channel"
(https://developer.android.com/training/tv/discovery/watch-next-add-programs).

## Issues
Closes #206
Related to #581
2025-12-27 15:40:45 -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
Ray
8479d8621d
Bump dependency versions, notably media3 (#496)
## Description
Bumps dependency versions, notably media3/ExoPlayer to `1.9.0`

### Related issues

Fixes #108
Fixes #355
Fixes #479
2025-12-17 17:00:15 -05:00
Ray
bbfbc13532
Backdrop improvements (#476)
## Description

The backdrop image shown on most pages is now configurable in advanced
settings:
* Image w/ dynamic color - Shows the backdrop with dynamic color filling
the entire space (new default)
* Image only - Shows only the backdrop image (current Wholphin behavior)
* None - Don't show any backdrops

Additionally, the backdrop is retained between page loads for the same
items.

## Acknowledgements

Big thanks to @YogiBear12 from which the idea and implementation for the
dynamic color was adapted from!

Code adapted from
https://github.com/YogiBear12/Halfin/blob/main/COLOR_EXTRACTION_AND_BACKDROP.md#backdrop-fading-and-transitions

## Issues

Closes #221
Closes #461
Closes #442



https://github.com/user-attachments/assets/1acbc487-c697-44d7-89ed-e7e4c9169360
2025-12-17 11:18:57 -05:00
damontecres
45cb385b9b
Bump compose version (#371)
The blog says this compose version improved scroll
performance:https://android-developers.googleblog.com/2025/12/whats-new-in-jetpack-compose-december.html

Dev notes: Also switches a few more compose libraries to use the BOM
version instead of defining per library
2025-12-04 12:45:02 -05:00
damontecres
39ad7e564f
Bump dependency versions & update issue templates (#270)
Adds a new bug template for reporting playback specific issues


Also bumps a few dependency versions
2025-11-20 12:55:49 -05:00
damontecres
18556b5058
Bump dependency versions (#170)
Also tries out using assisted injection for item IDs

No user facing changes
2025-11-07 10:09:59 -05:00
damontecres
3f7c2ac730
UI Updates & Fixes (#114)
Fixes #113 

- Ensures all audio and subtitle options are shown during playback
- Fix home rows not being at top when going back
- Show error message when background home page refresh fails

Also shows more details for login failures and adds a link to the debug
page (with log info) after multiple login failure attempts. Hopefully
this can help diagnose #112 and #18
2025-10-30 13:41:46 -04:00
damontecres
06f2c1260d
Add slf4j-simple (#101)
Fixes #99 

While not an actual error, it does look like a transitive dependency of
the Jellyfin Kotlin SDK may log using slf4j, so it would be good to
include an slf4j implementation just in case.
2025-10-28 19:28:54 -04:00
damontecres
89b9364807
Dependency updates & removing unused code (#70)
Just bumping dependencies and deleting some unused code. No user facing
changes
2025-10-26 18:17:47 -04:00
damontecres
2667090485
Send crash reports to the server (#65)
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!
2025-10-26 07:35:42 -04:00
damontecres
05f3811149
Add Live TV & DVR Support (#49)
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
2025-10-23 22:46:16 -04:00
damontecres
177e009f8c
Format changelog in app (#51)
Formats the in-app changelog when updating

Also allows for force updating to allow for switching develop tags.
2025-10-21 19:48:19 -04:00
damontecres
6194eba8c5
Remember playback choices & fix some track selection issues (#26)
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.
2025-10-17 17:19:44 -04:00
Damontecres
182625f096
Bump dependency versions 2025-10-15 14:21:37 -04:00
Damontecres
d4b3c554f8
Show loading/error for large seasons 2025-10-15 13:27:48 -04:00
Damontecres
8cda98d6aa
Updates to series detail page 2025-10-07 14:46:37 -04:00
Damontecres
de36eb7072
Add dependency license info 2025-10-03 19:31:50 -04:00
Damontecres
b6f9aee5d4
Dependency bumps 2025-10-02 12:15:45 -04:00
Damontecres
31b4881d7c
Move files 2025-09-30 11:08:30 -04:00
Damontecres
bd75539cb6
Add device profile & improvement playback reporting 2025-09-23 19:45:48 -04:00
Damontecres
3e7f11c588
Minimal playback 2025-09-22 17:02:32 -04:00
Damontecres
80070f4174
Basic navigation 2025-09-22 12:09:41 -04:00
Damontecres
51ad92f539
Basic home page & images 2025-09-21 22:16:42 -04:00
Damontecres
76d78246db
Basics for user prefs, logging in, etc 2025-09-21 19:56:40 -04:00
Damontecres
763521aabf
Add hilt 2025-09-20 17:42:09 -04:00
Damontecres
b0fa3be520
Add dependencies 2025-09-20 17:06:40 -04:00
Damontecres
2d02ff4cbe
Initial app creation 2025-09-20 16:36:38 -04:00