536350380f
Listens to mediaItemProvider + cacheSettingsProvider. On track change (or settings change), computes the [currentIdx, currentIdx + N] window in the queue and pins each uncached track via AudioCacheManager with source: autoPrefetch. Window N comes from cacheSettingsProvider.prefetchWindow (default 5, configurable in Settings → Storage card). Smoke-test only at the unit level — real coverage via on-device pass. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>