Commit graph

335 commits

Author SHA1 Message Date
damontecres
46094a5202
Deleted translation using Weblate (Spanish) 2025-11-21 20:18:48 +00:00
damontecres
9a54d6ed66
Added translation using Weblate (Spanish) 2025-11-21 20:18:48 +00:00
damontecres
4bd202e013
Add two new themes (#266)
Adds "Bold Blue" and Black/OLED themes

Also tweaks Orange & Green a bit to make the borders stronger and
backgrounds darker/less colored

Related to #91
2025-11-21 15:18:43 -05:00
Damontecres
6d338bde59
Add translation info to readme 2025-11-21 14:05:59 -05:00
damontecres
ccc900cee7
Don't query for Live TV info if user does not have access (#286)
Fixes #281
2025-11-21 13:15:52 -05:00
damontecres
99e8b69c0e
Fix nav drawer focus when pressing back on home page (#274)
Fixes the nav drawer not being focused on when pressing back to open it
on the home page

Dev notes: I think the bug was introduced in #228 due to the new
`Column` not being focusable, but we don't need it to be since we want
to focus on the selected page.
2025-11-20 18:04:45 -05:00
damontecres
45567bf4eb
Variety of UI changes for grids, home page order, & tv guide (#272)
## Details
This PR ended up being larger than I meant. It contains some UI changes
and code organization.

## TV & DVR
- Uses the "Recordings" library position to order "Recently added in
Recordings" instead of Live TV position
- The times at the top of the TV guide are more distinguishable from
each other
- Removes the duplicate title on the Live TV->Recordings tab

## Other libraries
- Bare-bone support for "Music Video" libraries. Full support for "Music
Video" is work-in-progress in #267, but the libraries should be
browseable now.
- Bare-bone support for "Other" (aka Mixed Movies & TV Shows) libraries.
Note: this type of library is considered [broken and
deprecated](https://jellyfin.org/docs/general/server/media/mixed-movies-and-shows),
so this won't be expanded any further


## Grids
Updates various grid types to use poster vs wide cards. For example,
Favorite TV Episodes will use episode images in a wide card now.

## Issues
Closes #249 
Closes #271
2025-11-20 17:00:11 -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
1f1d3443e3
Handle more remote & controller buttons during playback (#269)
## Details
Adds support for a few more media remote buttons

Adds support for common controller buttons

### Dev notes
Lifts the playback dialogs to the top level allowing them to be called
from anywhere during playback

## Issues
Closes #260
2025-11-20 12:29:17 -05:00
damontecres
d3a3a2093a
Fix a couple issues with transcoding (#261)
If playing with transcoding, changing tracks during playback will
continue to transcode instead of possibly switching to direct play.

Also support embedded subtitles that are being delivered externally.


Fixes #256
Fixes #257
2025-11-20 09:15:47 -05:00
damontecres
77755d04ba
Update readme 2025-11-19 18:04:20 -05:00
damontecres
59fc88f395
Updates to TV guide UI (#263)
Reduces the size of the rows on the TV guide allowing for 7-8 rows to
show. Also hide the tab row if scrolled down on the guide.

Move the "watch live" button to be initially focused

Channels are sorted with favorites appearing first

Back button behavior is tweaked to move to start of row first, then top
of the guide, then normal back behavior

Closes #259 
Related to #250
2025-11-19 17:06:00 -05:00
damontecres
461fbe846c
Add extra debug info to overlay (#258)
Adds some extra info to the playback debug info overlay such as
ExoPlayer decoder names and transcode info
2025-11-19 14:58:57 -05:00
damontecres
4517dcd0cf
Simplify PlaybackViewModel (#252)
`PlaybackViewModel` was becoming very unwieldy at over 1,300 LOC. This
PR breaks it up and simplifies some fields so it's easier to work with.

There are no user facing changes
2025-11-18 19:18:38 -05:00
damontecres
1fd497d18c
Add playlist & collection specific grid layout UIs (#246)
Adds grid layouts specifically for playlists and collections/boxsets
instead of falling back to the generic grid.

In #238, the generic grid was updated to show 4 columns of 16x9 cards.
Now, collections will use 2x3 (poster) cards (like Movies) and playlists
will use square cards.

This also means collections & playlists have more relevant sort options.

Fixes #243
Closes #226
2025-11-18 17:20:28 -05:00
damontecres
cda5b118a3
Option to combine continue watching & next up rows (#192)
A real implementation for combining the `Continue Watching` and `Next
Up` rows on the home page.

It requires a query for every next up item, so it could become slow
especially for many items and larger servers. The app makes a best
effort to cache the information.

The order is determined by querying each episode in next up to associate
it to its immediately previous episode's last played date. Then both
continue watching & next up items are reversed sorted by the last played
data. So this only makes sense if you watch series in order.

Closes #19
2025-11-18 15:21:50 -05:00
damontecres
46415fcdd0
Fix release workflow 2025-11-18 12:56:59 -05:00
damontecres
a133475b00
Update screenshots in README 2025-11-18 12:56:24 -05:00
Damontecres
afe638a97c
Release v0.3.0 2025-11-18 12:43:17 -05:00
Damontecres
2111699abc
Smaller maximum size for logo 2025-11-18 11:48:04 -05:00
damontecres
90956bd0e2
Fix several playback issues (#240)
Fixes issues introduced in #222:
- Switching tracks
- Downloading subtitles
- Trickplay
2025-11-17 22:08:26 -05:00
Damontecres
037e846599
Revert "Use useSeriesForPrimary"
This reverts commit f5f75f9e9e8f3316c689b85d3b8781c932a7c0ff.
2025-11-17 16:12:59 -05:00
damontecres
a9f2e684f1
Add logo to playback overlay (#172)
## Details

Adds the logo (if available) to the upper left corner of the playback
controls overlay.

I am still experimenting with how logos can be used on the details
pages. It's problematic because of the variety of colors, eg dark logos
can be hard to see on the dark background.

## Issues
Related to #92

## Screenshot
<img width="1280" height="771" alt="logo_playback Large"
src="https://github.com/user-attachments/assets/c6cb43fe-f3bc-42a4-9ef4-0397267e3073"
/>
2025-11-17 14:14:35 -05:00
Damontecres
0d148e2556
Move strings into one file 2025-11-17 14:02:17 -05:00
damontecres
98fde1b65e
Better video grid, poster images, & home page images (#238)
- General video library grid now shows 16:9 cards
- Ensures the posters on Movie/TV show grid pages fill the bounds (TVDB
posters are often very slightly wider than 2x3)
- Always crossfade home page backdrop image

Related to #66
2025-11-17 13:44:03 -05:00
damontecres
4d34c977c8
Fix issue when holding down on playback overylay queue (#237)
Fixes an issues where if the playback overlay is showing and there is a
queue of items, then holding the D-Pad down button would scroll down but
visually lose focus on the queue items.
2025-11-16 21:24:07 -05:00
damontecres
b42aa297f6
Add dimming effect to highlight which episode is currenty selected (#232)
On the series overview page, when moving off of the episode row, such as
to do the play/more buttons, the other episodes will now become dimmer
to indicate which episode you're interacting with.

Also, when moving back to the page from the nav drawer, focus is
restored to where it left from. This is useful when scrolling fast left
on the season tabs and you overshoot onto the nav drawer, moving right
once will always move back to the season tabs.

In this example screenshot, Episode 3 is selected, so the others are
darker.
<img width="1280" height="771" alt="dim Large"
src="https://github.com/user-attachments/assets/fa21ade4-3345-4e97-873f-d654123a1ae5"
/>

This is a follow up from #158
2025-11-16 21:23:55 -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
d7b333e519
Adjust color & size of the nav drawer (#228)
The navigation drawer now appear more subtle when closed using a neutral
background and dimmer, slightly more compact icons. When open, it looks
much like it did before.

The profile button stays fixed at the top since it is the only
indication for which user & server.

Closes #176

Closed
<img width="1280" height="771" alt="drawer_closed Large"
src="https://github.com/user-attachments/assets/54c154eb-fefe-4029-9af8-a57473f3535e"
/>

Open
<img width="1280" height="771" alt="drawer_open Large"
src="https://github.com/user-attachments/assets/1e0f95a7-e98f-4e96-988a-8b1d97bdd757"
/>
2025-11-15 15:42:26 -05:00
damontecres
93d82a263d
Show extras for Movies & TV Shows (#224)
## Description
Shows local extras (clips, interviews, etc) for movies and tv shows

Extras are grouped by type and clicking on the type will go to a grid
page listing all of the items. However, if there is just one of that
type, it is shown in-line.

Trailers still have on their own row. And theme songs & theme videos are
not shown.

## Issues
Closes #123
2025-11-15 13:25:44 -05:00
damontecres
2f56a3a114
Add a few more sort options (#223)
Adds parental rating, runtime, & play count sorting options

Closes #198
2025-11-14 19:48:47 -05:00
damontecres
72fb732e63
Fix & refactor some image aspect ratios (#222)
Fix image aspect ratios for episode cards that differ from the video's
aspect ratio.

Also use the video's aspect ratio for chapter cards instead of assuming
16x9.

Dev: Create constants for the main ratios used

Fixes #215
2025-11-14 16:13:18 -05:00
Damontecres
6a912c0af3
Release v0.2.9 2025-11-14 14:06:52 -05:00
Damontecres
00521578d5
Another fix for server/user list 2025-11-14 14:01:20 -05:00
Damontecres
b7dfb2ca5f
Always initialize server/user view models 2025-11-14 13:33:33 -05:00
damontecres
c5a5345f6c
Fix focusing before loading on recommended pages (#220)
Basically now will wait until a row is loaded before sending the focus
request
2025-11-14 11:40:38 -05:00
damontecres
b7cb6efc4f
Dev: Move services into their own package (#214)
Moves service classes into their own files and package for easier
organization and discovery

No user facing changes in the PR
2025-11-13 19:39:37 -05:00
damontecres
76b7a33328
Fix two issues on recommended pages (#213)
Fix an issue where if there are no items for the "Continue Watching"
row, the tab row would disappear

Fix an issue where some rows (eg Recently released, recently added,
suggestions, etc) on the recommended pages might never show up

Fixes #207
2025-11-13 18:40:52 -05:00
damontecres
fe29b0cd88
Show local & remote trailers for TV Shows (#212)
Shows local & remote trailers for TV Shows similar to how its shown for
Movies

Closes #141
2025-11-13 18:31:23 -05:00
Jakub Syty
f61e819a98
Add FLAG_ACTIVITY_NEW_TASK to fix updates for some older devices (#211)
Without this the installation intent is crashing with an error on my
Xiaomi Mi Box S (Android 8.1)
2025-11-13 17:27:20 -05:00
damontecres
19b712d54b
More favorite tabs & add people to favorites (#210)
Adds Video, Playlists, & People tabs to the favorites page

Also adds ability to add people to favorites via context menu or on
their page

Closes #199
2025-11-13 16:12:42 -05:00
Damontecres
655720fc05
Small fix for deleting current server or user 2025-11-13 11:52:52 -05:00
damontecres
5061277fd1
Keep activity tracking alive even after errors (#209)
Previously if the activity tracker got an error from the server during
one of the reports, the timer thread would stop and no further reports
would be sent.

This PR fixes that so it will continue to attempt to send reports since
if playback is continuing without error, the report error is likely
transient. For example, I observed the server returning an error during
its DB optimization scheduled task.

I think this will fix #208
2025-11-13 11:36:57 -05:00
damontecres
58395e9adf
Refactoring switching server or user (#205)
Now when initiating a user or server switch, you can't back out of it
and must select a user/server. This will be useful when PIN code are
implemented down the road.

The app will now disconnect the web socket when backgrounded.

Also lots of internal refactoring
2025-11-12 17:44:16 -05:00
damontecres
2e3e4e3f5f
Add long clicking context menus everywhere (#202)
Adds long click context menus to just about every card throughout the
app. Previously only a few pages had this.

Closes #196
2025-11-12 15:36:36 -05:00
damontecres
5e2c75bb70
Log while navigating around the app (#195)
Just adds some logging while navigating around the app. If an error or
crash occurs and users want to share their logs, this information is
useful to know what page.

Logs are never sent without explicit user content and they are only
shared with the Jellyfin server the app is currently connected to. [See
here for more
details](https://github.com/damontecres/Wholphin/wiki/Gathering-app-logs#privacy)

Also stops theme music when the app is paused similar to #191
2025-11-11 20:10:16 -05:00
Damontecres
ed2ec2f97e
Release v0.2.8 2025-11-11 15:57:35 -05:00
Damontecres
5b1c46f0b7
Fix focus on recommended 2025-11-11 15:45:22 -05:00
damontecres
f8a2bb1545
Fix showing home page refreshes (#194)
Fixes the UI not showing that a refresh is in progress
2025-11-11 13:32:01 -05:00