## Description
Fixes a crash when backgrounding/restoring the app on certain grid pages
### Related issues
Fixes https://github.com/damontecres/Wholphin/issues/1598
Replaces #1599
### Testing
Emulator
It's easy to reproduce by going to a library's recommended tab,
scrolling to any row's view more, then pressing home to background the
app
## Screenshots
N/A
## AI or LLM usage
None, but includes a commit from #1599 which did, see the note there
---------
Co-authored-by: Christian Tismer <tismer@stackless.com>
## Description
This PR contains only tests, there are no user facing changes.
Adds tests for playback covering:
- Playing next, previous, or within the queue
- Media segments (intro/credit)
- Playing intros before media
Adds basic unit tests for track selection. This uses a new "test track"
builder which can model various files and build them as represented
(differently) by the server, ExoPlayer, and MPV. In future, this will
allow for testing of more complex files.
Also add unit tests for services covering things like:
- Fetching extras
- Deleting media
- Server/user management & auth
### Related issues
Will help with testing/verifying some issues like #1475, #1548
### Testing
Ran the unit tests!
## Screenshots
N/A
## AI or LLM usage
None
## Description
Switches all usages of `kotlinx.coroutines.Dispatchers` to
`WholphinDispatchers`.
`WholphinDispatchers` provides an easier and more reliable mechanism to
use a test dispatcher in unit tests. For regular app usage,
`WholphinDispatchers` just delegates to `Dispatchers`.
There are no user facing changes
### Related issues
None
### Testing
Basic emulator testing & unit tests
## Screenshots
N/A
## AI or LLM usage
None
## Description
Ensures that all string & plural resource keys are unique. This should
help make sure all of the strings are shown in weblate's translation.
### Related issues
Related to #1551
### Testing
Emulator
## Screenshots
N/A
## AI or LLM usage
None
## Description
Adds options to the context menu to play or shuffle items in a series,
season, collection, or playlist. So you can long click a TV show and
play it directly.
Playing a TV show will play the next up episode (same as the play button
on the series detail page).
Playing a season, collection, or playlist will start from the beginning.
Also, removes the green play arrows and uses the same neutral color as
other icons.
### Related issues
Closes#1451Closes#1507
### Testing
Emulator from library pages & series detail pages
## Screenshots
N/A
## AI or LLM usage
None
## Description
- Ensures all parent ratings are shown in the filter drop down
- Fixes focus loss after filtering library and there are no results
### Related issues
Fixes#1535 (along w/ #1529)
Fixes#1534
### Testing
Emulator w/ a UK movie library
## Screenshots
N/A
## AI or LLM usage
None
## Description
Fixes row bounce using `SeasonCard` when are two exactly two items. This
was done by calculating the y-offset in the `layout` modifier instead of
`offset`. This has the side effect of probably being very slightly more
efficient since only 1 animation state is needed now.
Fixes row bounce on the second row of the home page if the first row is
empty and not shown.
### Related issues
Fixes#1528Fixes#1271
### Testing
Emulator in different situations. Also checked the layout inspector to
make sure the optimizations from #1184 weren't affected
## Screenshots
N/A
## AI or LLM usage
None
## Description
Makes some improvements to the debug page. Also adds some audio device
listing for debugging.
### Related issues
N/A
### Testing
Emulator & shield
## Screenshots
N/A
## AI or LLM usage
None