When onReady fires during MediaController reconnect (fragment navigation, activity resume), calling setQueue restarts the current song from pos 0. Guard: if native isPlaying=true, only re-sync JS UI — never touch the queue. Only push a new queue when native is idle/empty (cold start). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>