Skip to content

feat: offline skip for uncached songs, cache backup & restore with full offline playback, and crash fixes - #61

Merged
d0x-dev merged 7 commits into
d0x-dev:mainfrom
drkvenom786:main
Sep 8, 2026
Merged

feat: offline skip for uncached songs, cache backup & restore with full offline playback, and crash fixes#61
d0x-dev merged 7 commits into
d0x-dev:mainfrom
drkvenom786:main

Conversation

@drkvenom786

@drkvenom786 drkvenom786 commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Overview

This PR introduces offline playback enhancements, cache backup & restoration, crash fixes, and general improvements.

Changes Included

  1. Offline Skip for Uncached Songs:
    • Added a setting under Player & Audio settings to skip tracks that are not cached when offline, preventing stalled buffering or unexpected pauses.
  2. Cache Backup & Restore:
    • Implemented backup and restore for cached songs and playback metadata.
    • Properly aligns ExoPlayer cache UID and version registry (ExoPlayerVersions) to ensure restored .exo chunk files are preserved and never purged on startup.
    • Reconstructs cache index mapping if restoring older backups.
  3. Full Offline Audio Playback:
    • Relaxed data source cache checks in MusicService.kt and DownloadUtil.kt so tracks with cached audio bytes play immediately offline from local storage without network requests.
    • Added reactive cache tracking in CachePlaylistScreen and StorageSettings so restored songs appear immediately in the Cached playlist.
  4. Crash Fixes:
    • Fixed NoSuchElementException: Collection is empty crashes in OnlinePlaylistAdder.kt and YouTubeAlbumRadio.kt.

@d0x-dev
d0x-dev merged commit c273ab1 into d0x-dev:main Sep 8, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants