feat(audio): implement audiobook player with ExoPlayer and MediaSession

Add a full audiobook player for Audiobookshelf books:
- PlayerScreen/PlayerModel/PlayerContent with playback controls, progress, speed, skip
- AudioPlaybackService as MediaSessionService for background playback + notification
- ABS item lookup and per-file audio URLs using ServerSettings URL/token
- Hilt bindings, notification icon/strings, and required manifest permissions/service

Also removes the stale CacheRepositoryImpl import from RepositoryModule so the
worktree compiles after the cache files were deleted.
This commit is contained in:
Atte149 2026-06-16 12:04:53 +03:00
parent ed3afc1f16
commit acff930d7b
18 changed files with 888 additions and 3 deletions

View file

@ -9,6 +9,10 @@
<string name="app_name" translatable="false">Book\'s Story</string>
<string name="default_string">Default</string>
<!-- Audio playback -->
<string name="audio_playback_channel">Audio playback</string>
<string name="audio_playback_channel_description">Shows the currently playing audiobook</string>
<!-- Screens -->
<string name="library_screen">Library</string>
<string name="history_screen">History</string>