551bbf83c2
android / Build + lint + test (push) Successful in 3m54s
MinstrelPlayerService now injects LikesRepository, attaches the new LikeMediaCallback, sets an initial unfilled CommandButton via setMediaButtonPreferences, and launches a service-scoped job that rebuilds the preferences list when the current track or its server-side liked state changes. flatMapLatest on (currentMediaItem x observeIsLiked) means the icon mirrors cross-device likes (web tap flips the notification heart within EventsStream propagation) and never leaks Flows across track transitions. Initial emission on subscription guarantees the icon is correct on the first frame the controller renders. onDestroy now cancels the service scope before releasing the session so the like-state job can't touch a released MediaSession. Closes the Media3 like-button work spec'd in docs/superpowers/specs/2026-06-02-android-media3-like-button-design.md. On-device verification still pending: phone notification, lock screen, Pixel Watch, Android Auto, offline replay, cross-device.