From 9321a87577faf306c3ee3d6da74da29a779951bc Mon Sep 17 00:00:00 2001 From: Santiago Seifert Date: Fri, 23 Sep 2022 11:11:34 +0000 Subject: [PATCH] Add human-readable state int to PlaybackState Bug: 205124386 Test: adb shell dumpsys media_session Change-Id: Ie583876260cb0311162b219235a4eb2a672ffc5a --- .../android/media/session/PlaybackState.java | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/media/java/android/media/session/PlaybackState.java b/media/java/android/media/session/PlaybackState.java index 9eacc74843f9d..7891ee6d5861b 100644 --- a/media/java/android/media/session/PlaybackState.java +++ b/media/java/android/media/session/PlaybackState.java @@ -333,7 +333,11 @@ public final class PlaybackState implements Parcelable { @Override public String toString() { StringBuilder bob = new StringBuilder("PlaybackState {"); - bob.append("state=").append(mState); + bob.append("state=") + .append(getStringForStateInt(mState)) + .append("(") + .append(mState) + .append(")"); bob.append(", position=").append(mPosition); bob.append(", buffered position=").append(mBufferedPosition); bob.append(", speed=").append(mSpeed); @@ -533,6 +537,38 @@ public final class PlaybackState implements Parcelable { } }; + /** Returns a human readable string representation of the given int {@code state} */ + private static String getStringForStateInt(int state) { + switch (state) { + case STATE_NONE: + return "NONE"; + case STATE_STOPPED: + return "STOPPED"; + case STATE_PAUSED: + return "PAUSED"; + case STATE_PLAYING: + return "PLAYING"; + case STATE_FAST_FORWARDING: + return "FAST_FORWARDING"; + case STATE_REWINDING: + return "REWINDING"; + case STATE_BUFFERING: + return "BUFFERING"; + case STATE_ERROR: + return "ERROR"; + case STATE_CONNECTING: + return "CONNECTING"; + case STATE_SKIPPING_TO_PREVIOUS: + return "SKIPPING_TO_PREVIOUS"; + case STATE_SKIPPING_TO_NEXT: + return "SKIPPING_TO_NEXT"; + case STATE_SKIPPING_TO_QUEUE_ITEM: + return "SKIPPING_TO_QUEUE_ITEM"; + default: + return "UNKNOWN"; + } + } + /** * {@link PlaybackState.CustomAction CustomActions} can be used to extend the capabilities of * the standard transport controls by exposing app specific actions to