fbd6264037
ShuffleSource intersects the play-recency list with the Media3 SimpleCache key set, so the offline Recently-played / Liked pools only offer tracks whose audio is actually on disk. Flutter's index holds fully-cached tracks only; Android's records plays, so this intersection restores parity — a played-then-evicted track no longer surfaces in a pool where it would fail to play offline. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>