summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/module-lib-current.txt4
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMediaController.java4
-rw-r--r--media/java/android/media/session/MediaSession.java19
-rw-r--r--media/java/android/media/session/PlaybackState.java20
-rw-r--r--non-updatable-api/module-lib-current.txt4
-rw-r--r--services/core/java/com/android/server/media/MediaSessionRecord.java2
6 files changed, 30 insertions, 23 deletions
diff --git a/api/module-lib-current.txt b/api/module-lib-current.txt
index 2d24d5b9a0ca..ab758c93cfdc 100644
--- a/api/module-lib-current.txt
+++ b/api/module-lib-current.txt
@@ -89,6 +89,10 @@ package android.media.session {
field public static final int RESULT_MEDIA_KEY_NOT_HANDLED = 0; // 0x0
}
+ 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/phone/PipMediaController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMediaController.java
index 4a8db6b42b3f..22c05fb8acd9 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMediaController.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMediaController.java
@@ -28,7 +28,6 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.drawable.Icon;
import android.media.session.MediaController;
-import android.media.session.MediaSession;
import android.media.session.MediaSessionManager;
import android.media.session.PlaybackState;
import android.os.UserHandle;
@@ -153,8 +152,7 @@ public class PipMediaController {
}
ArrayList<RemoteAction> mediaActions = new ArrayList<>();
- int state = mMediaController.getPlaybackState().getState();
- boolean isPlaying = MediaSession.isActiveState(state);
+ boolean isPlaying = mMediaController.getPlaybackState().isActiveState();
long actions = mMediaController.getPlaybackState().getActions();
// Prev action
diff --git a/media/java/android/media/session/MediaSession.java b/media/java/android/media/session/MediaSession.java
index e17e069d61d0..f582d2addf17 100644
--- a/media/java/android/media/session/MediaSession.java
+++ b/media/java/android/media/session/MediaSession.java
@@ -609,25 +609,6 @@ public final class MediaSession {
}
/**
- * Return true if this is considered an active playback state.
- *
- * @hide
- */
- public static boolean isActiveState(int state) {
- switch (state) {
- case PlaybackState.STATE_FAST_FORWARDING:
- case PlaybackState.STATE_REWINDING:
- case PlaybackState.STATE_SKIPPING_TO_PREVIOUS:
- case PlaybackState.STATE_SKIPPING_TO_NEXT:
- case PlaybackState.STATE_BUFFERING:
- case PlaybackState.STATE_CONNECTING:
- case PlaybackState.STATE_PLAYING:
- return true;
- }
- return false;
- }
-
- /**
* Returns whether the given bundle includes non-framework Parcelables.
*/
static boolean hasCustomParcelable(@Nullable Bundle bundle) {
diff --git a/media/java/android/media/session/PlaybackState.java b/media/java/android/media/session/PlaybackState.java
index 8dd61276f75f..b1a88ed16bcd 100644
--- a/media/java/android/media/session/PlaybackState.java
+++ b/media/java/android/media/session/PlaybackState.java
@@ -19,6 +19,7 @@ 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;
@@ -480,6 +481,25 @@ public final class PlaybackState implements Parcelable {
return mExtras;
}
+ /**
+ * Returns whether this is considered as an active playback state.
+ * @hide
+ */
+ @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
+ public boolean isActiveState() {
+ 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_BUFFERING:
+ case PlaybackState.STATE_CONNECTING:
+ case PlaybackState.STATE_PLAYING:
+ return true;
+ }
+ return false;
+ }
+
public static final @android.annotation.NonNull Parcelable.Creator<PlaybackState> CREATOR =
new Parcelable.Creator<PlaybackState>() {
@Override
diff --git a/non-updatable-api/module-lib-current.txt b/non-updatable-api/module-lib-current.txt
index 6e3cec6a4f1f..5bbdb28ffd57 100644
--- a/non-updatable-api/module-lib-current.txt
+++ b/non-updatable-api/module-lib-current.txt
@@ -79,6 +79,10 @@ package android.media.session {
field public static final int RESULT_MEDIA_KEY_NOT_HANDLED = 0; // 0x0
}
+ public final class PlaybackState implements android.os.Parcelable {
+ method public boolean isActiveState();
+ }
+
}
package android.os {
diff --git a/services/core/java/com/android/server/media/MediaSessionRecord.java b/services/core/java/com/android/server/media/MediaSessionRecord.java
index 793cfcd77414..f9973529a120 100644
--- a/services/core/java/com/android/server/media/MediaSessionRecord.java
+++ b/services/core/java/com/android/server/media/MediaSessionRecord.java
@@ -382,7 +382,7 @@ public class MediaSessionRecord implements IBinder.DeathRecipient, MediaSessionR
if (mPlaybackState == null) {
return false;
}
- return MediaSession.isActiveState(mPlaybackState.getState()) == expected;
+ return mPlaybackState.isActiveState() == expected;
}
/**