VIVI Music lets you save any track to your device for playback without a network connection. Downloads are managed byDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/vivizzz007/vivi-music/llms.txt
Use this file to discover all available pages before exploring further.
ExoDownloadService, a Media3 DownloadService that runs in the background and shows progress notifications. Downloaded songs appear in the Library → Downloaded view and are played back directly from local storage, giving you gapless offline audio at the same quality you downloaded. Storage is configurable — you can set separate limits for the streaming playback cache and the image thumbnail cache, and clear both independently from Settings → Storage.
How to Download a Track
Open the track menu
Long-press the song row, or tap the ⋮ overflow menu icon on the right side of the row. This opens the song action sheet.
Tap Download
Select Download from the action sheet. The download begins immediately in the background via
ExoDownloadService.Monitor progress
A download progress notification appears in your notification shade. Multiple concurrent downloads are batched into a single notification showing overall progress.
Auto-Download on Like
VIVI Music can automatically download a track the moment you like it, without any manual steps.| Preference key | Default | Description |
|---|---|---|
AutoDownloadOnLikeKey | false | When enabled, liking a song immediately queues it for download via ExoDownloadService |
Download Storage Management
Downloads and streaming cache are stored separately. Both limits are configured in Settings → Storage.Song Cache
MaxSongCacheSizeKey controls the maximum size of the streaming playback cache (in MB). VIVI Music uses a SimpleCache (Media3 CacheDataSource) for both live streaming and downloaded content:
- The player cache holds recently streamed audio for quick re-play.
- The download cache holds explicitly downloaded tracks that are never evicted until you remove them manually.
MaxSongCacheSizeKey, older entries are evicted automatically to make room for new streams. Downloaded tracks are stored separately and are not subject to this limit.
Image Cache
MaxImageCacheSizeKey controls the maximum size of the thumbnail and artwork image cache in MB. Album art, artist images, and other visuals are cached using Coil and are subject to this separate limit.
Clearing Storage
Clear song cache
Tap Clear song cache to evict all entries from the streaming player cache. This does not remove explicitly downloaded tracks.
Clear image cache
Tap Clear image cache to remove all cached thumbnails and artwork. Images will be re-fetched on next display.
Smart Cache Management
VIVI Music uses a two-tier caching strategy to make the best use of available storage:Streaming Cache
Recently played audio is cached up to
MaxSongCacheSizeKey MB. Older entries are evicted automatically using LRU eviction so new streams always have room.Download Cache
Explicitly downloaded tracks live in a separate cache and are never auto-evicted. They persist until you manually remove them.
Image Cache
Album art and thumbnails are cached separately up to
MaxImageCacheSizeKey MB, keeping audio and image storage budgets independent.Offline Playback
When a downloaded track is requested and no network is available, VIVI serves it directly from the download cache with no buffering delay.
Library: Downloaded Songs View
All downloaded tracks appear in the Library → Downloaded auto-playlist. You can sort and filter this view using the same sort controls available elsewhere in the library (create date, name, artist, play time). The Show Downloaded Playlist card in the Library is controlled byShowDownloadedPlaylistKey (default: true) — disable it in Settings → Appearance if you prefer a cleaner library layout.