The AVRCP defined three play state just like you mentioned, so that's why I am adding a new "isStopped" to keep the state. Using another var called playbackState sounds like a good idea, I will try to keep it simple and not to confuse.