Poweramp build number: build-954-bundle-play [954004-77bd98e2]
your device model: Samsung Galaxy S22 Ultra (SM-S908U1)
your Android version: Android 13
your custom ROM name/version (if you're on custom ROM): N/A
steps to reproduce:
[Prerequisite] Have only one playlist created, add a few tracks to the playlist, start shuffle from list header shuffle button, then pause playback.
[BT Playback Case]
Connect phone to vehicle over BT and suppress Android Auto (doable from phone's settings).
Confirm media playback of a track (Song A) through vehicle's built-in audio player.
Press 'next track' steering wheel control to play next track (Song B) in queue.
Wait for three seconds.
Double-press 'previous track' steering wheel control to attempt moving back to Song A.
[Expected Result] Song A starts playing. [Actual Result] Song A starts playing.
[Android Auto Playback Case]
Reconnect the phone to vehicle again, but this time with Android Auto enabled.
Confirm media playback of Song A through Poweramp in Android Auto screen.
Press 'next track' steering wheel control to play next track (Song B) in queue.
Wait for three seconds.
Double-press 'previous track' steering wheel control to attempt moving back to Song A.
[Expected Result] Song A start playing. [Actual Result] Poweramp attempts to play previous category, but since there is only one category (single playlist) Poweramp shuffles current playlist again and starts playing the first track in new queue.
I also logged the 'Last Processed Commands' in both cases.
[BT Playback Case]
==================
20:10:25.265 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_NEXT ACTION_DOWN name=Virtual source=0x0 sources=0x301 virt=true repeat=0 actionTime=240982092 sourcePak=com.android.bluetooth isAvrcp flags=0x0 playerState=1
==================
20:10:25.273 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_NEXT ACTION_UP name=Virtual source=0x0 sources=0x301 virt=true repeat=0 actionTime=240982100 sourcePak=com.android.bluetooth isAvrcp flags=0x0 playerState=1
==================
20:10:25.297 PlayerService NEXT
from PSMediaButtonReceiver
==================
20:10:37.417 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_PREVIOUS ACTION_DOWN name=Virtual source=0x0 sources=0x301 virt=true repeat=0 actionTime=240994244 sourcePak=com.android.bluetooth isAvrcp flags=0x0 playerState=1
==================
20:10:37.419 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_PREVIOUS ACTION_UP name=Virtual source=0x0 sources=0x301 virt=true repeat=0 actionTime=240994246 sourcePak=com.android.bluetooth isAvrcp flags=0x0 playerState=1
==================
20:10:37.432 PlayerService PREVIOUS
from PSMediaButtonReceiver
==================
20:10:37.643 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_PREVIOUS ACTION_DOWN name=Virtual source=0x0 sources=0x301 virt=true repeat=0 actionTime=240994471 sourcePak=com.android.bluetooth isAvrcp flags=0x0 playerState=1
==================
20:10:37.657 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_PREVIOUS ACTION_UP name=Virtual source=0x0 sources=0x301 virt=true repeat=0 actionTime=240994485 sourcePak=com.android.bluetooth isAvrcp flags=0x0 playerState=1
==================
20:10:37.695 PlayerService PREVIOUS
from PSMediaButtonReceiver
[Android Auto Playback Case]
==================
20:11:58.391 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_NEXT ACTION_DOWN flags=0x4 playerState=1
==================
20:11:58.393 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_NEXT ACTION_UP flags=0x4 playerState=1
==================
20:11:59.045 PlayerService NEXT
from PSMediaButtonReceiver
==================
20:12:09.345 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_PREVIOUS ACTION_DOWN flags=0x4 playerState=1
==================
20:12:09.347 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_PREVIOUS ACTION_UP flags=0x4 playerState=1
==================
20:12:09.560 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_PREVIOUS ACTION_DOWN flags=0x4 playerState=1
==================
20:12:09.566 PSMediaButtonReceiver android.intent.action.MEDIA_BUTTON
KEYCODE_MEDIA_PREVIOUS ACTION_UP flags=0x4 playerState=1
==================
20:12:09.602 PlayerService PREVIOUS_IN_CAT
from PSMediaButtonReceiver
What I'm curious is, who makes this decision whether to coalesce two consecutive button presses into single command or to perceive two presses as two distinct commands?
Is Poweramp doing that or is Android Auto playing the trick in between?
Basically, what I want is BT Playback Case's behavior even in Android Auto (double press == two distinct commands).
Thanks.