Add flag to use PlaybackState actions in media controls

If flag is enabled, media control actions will be created from the
PlaybackState following the pattern: C A (play/pause) B D
A = previous, or custom action (if not reserved)
B = next, or custom action (if not reserved)
C and D = custom actions

Previous and next slots can be reserved by the app sending the extra
SESSION_EXTRAS_KEY_SLOT_RESERVATION_SKIP_TO_PREV (or NEXT), same as
Android Auto. This will result in a blank space in the UI.

If the flag is not enabled, or the app doesn't include a PlaybackState,
notification actions will be used instead (no change in behavior)

Flag can be enabled using:
adb shell am broadcast -a com.android.systemui.action.SET_FLAG --ei id 901 --ez value 1

Fixes: 203800354
Test: atest com.android.systemui.media
Test: manual, toggle flag
Change-Id: Iba20f8ab61c9057cbbd1849bb262da693edd6cb5
14 files changed