From 4879480b99beb814855d472a25359dae4e0fec6a Mon Sep 17 00:00:00 2001 From: Kyunglyul Hyun Date: Thu, 8 Apr 2021 07:54:02 +0000 Subject: [PATCH] Change PlaybackState#isActiveState to isActive Rename PlaybackState#isActiveState() to #isActive() and make it public. This is according to API review. This CL also includes STATE_SKIPPING_TO_QUEUE_ITEM as an active playback state. Bug: 184612506 Test: build successful && atest PlaybackStateTest Change-Id: I4757038d63adc3478f19f177265ebd198fb5f424 --- core/api/current.txt | 1 + core/api/module-lib-current.txt | 4 ---- .../wm/shell/pip/PipMediaController.java | 2 +- .../android/media/session/PlaybackState.java | 18 ++++++++++++++---- .../server/media/MediaSessionRecord.java | 2 +- 5 files changed, 17 insertions(+), 10 deletions(-) diff --git a/core/api/current.txt b/core/api/current.txt index 10c4a4f6877a6..2e91040fbb16b 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -25214,6 +25214,7 @@ package android.media.session { method public float getPlaybackSpeed(); method public long getPosition(); method public int getState(); + method public boolean isActive(); method public void writeToParcel(android.os.Parcel, int); field public static final long ACTION_FAST_FORWARD = 64L; // 0x40L field public static final long ACTION_PAUSE = 2L; // 0x2L diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt index 53794688a6e70..0b86ac5195ebf 100644 --- a/core/api/module-lib-current.txt +++ b/core/api/module-lib-current.txt @@ -161,10 +161,6 @@ package android.media.session { method public void onVolumeChanged(@NonNull android.media.session.MediaSession.Token, int); } - public final class PlaybackState implements android.os.Parcelable { - method public boolean isActiveState(); - } - } package android.net { diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipMediaController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipMediaController.java index 3af0ff0dfb363..d4f229cb3e094 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipMediaController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipMediaController.java @@ -216,7 +216,7 @@ public class PipMediaController { } ArrayList mediaActions = new ArrayList<>(); - boolean isPlaying = mMediaController.getPlaybackState().isActiveState(); + boolean isPlaying = mMediaController.getPlaybackState().isActive(); long actions = mMediaController.getPlaybackState().getActions(); // Prev action diff --git a/media/java/android/media/session/PlaybackState.java b/media/java/android/media/session/PlaybackState.java index e7d30ebba4b1a..9eacc74843f9d 100644 --- a/media/java/android/media/session/PlaybackState.java +++ b/media/java/android/media/session/PlaybackState.java @@ -19,7 +19,6 @@ import android.annotation.DrawableRes; import android.annotation.IntDef; import android.annotation.LongDef; import android.annotation.Nullable; -import android.annotation.SystemApi; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; @@ -493,15 +492,26 @@ public final class PlaybackState implements Parcelable { /** * Returns whether this is considered as an active playback state. - * @hide + *

+ * The playback state is considered as an active if the state is one of the following: + *

*/ - @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) - public boolean isActiveState() { + public boolean isActive() { switch (mState) { case PlaybackState.STATE_FAST_FORWARDING: case PlaybackState.STATE_REWINDING: case PlaybackState.STATE_SKIPPING_TO_PREVIOUS: case PlaybackState.STATE_SKIPPING_TO_NEXT: + case PlaybackState.STATE_SKIPPING_TO_QUEUE_ITEM: case PlaybackState.STATE_BUFFERING: case PlaybackState.STATE_CONNECTING: case PlaybackState.STATE_PLAYING: diff --git a/services/core/java/com/android/server/media/MediaSessionRecord.java b/services/core/java/com/android/server/media/MediaSessionRecord.java index b10d56b62acc2..abcf4fb939e1c 100644 --- a/services/core/java/com/android/server/media/MediaSessionRecord.java +++ b/services/core/java/com/android/server/media/MediaSessionRecord.java @@ -384,7 +384,7 @@ public class MediaSessionRecord implements IBinder.DeathRecipient, MediaSessionR if (mPlaybackState == null) { return false; } - return mPlaybackState.isActiveState() == expected; + return mPlaybackState.isActive() == expected; } /**