Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 142d56c2 authored by Bishoy Gendy's avatar Bishoy Gendy
Browse files

Add suppressed state for media session

- This will prevent the system from moving the service holding the
media session to the background when the session is paused for a long
time.

Bug: 295518668
Test: Only new symbol added
Change-Id: I08138f9b75c3151e977679423f02df055448e9b8
parent 4cae88a4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -26291,6 +26291,7 @@ package android.media.session {
    field public static final int STATE_FAST_FORWARDING = 4; // 0x4
    field public static final int STATE_NONE = 0; // 0x0
    field public static final int STATE_PAUSED = 2; // 0x2
    field @FlaggedApi("com.android.media.flags.enable_notifying_activity_manager_with_media_session_status_change") public static final int STATE_PLAYBACK_SUPPRESSED = 12; // 0xc
    field public static final int STATE_PLAYING = 3; // 0x3
    field public static final int STATE_REWINDING = 5; // 0x5
    field public static final int STATE_SKIPPING_TO_NEXT = 10; // 0xa
+25 −1
Original line number Diff line number Diff line
@@ -15,7 +15,10 @@
 */
package android.media.session;

import static com.android.media.flags.Flags.FLAG_ENABLE_NOTIFYING_ACTIVITY_MANAGER_WITH_MEDIA_SESSION_STATUS_CHANGE;

import android.annotation.DrawableRes;
import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.LongDef;
import android.annotation.Nullable;
@@ -189,7 +192,8 @@ public final class PlaybackState implements Parcelable {
     */
    @IntDef({STATE_NONE, STATE_STOPPED, STATE_PAUSED, STATE_PLAYING, STATE_FAST_FORWARDING,
            STATE_REWINDING, STATE_BUFFERING, STATE_ERROR, STATE_CONNECTING,
            STATE_SKIPPING_TO_PREVIOUS, STATE_SKIPPING_TO_NEXT, STATE_SKIPPING_TO_QUEUE_ITEM})
            STATE_SKIPPING_TO_PREVIOUS, STATE_SKIPPING_TO_NEXT, STATE_SKIPPING_TO_QUEUE_ITEM,
            STATE_PLAYBACK_SUPPRESSED})
    @Retention(RetentionPolicy.SOURCE)
    public @interface State {}

@@ -285,6 +289,19 @@ public final class PlaybackState implements Parcelable {
     */
    public static final int STATE_SKIPPING_TO_QUEUE_ITEM = 11;

    /**
     * State indicating that playback is paused due to an external transient interruption, like a
     * phone call.
     *
     * <p>This state is different from {@link #STATE_PAUSED} in that it is deemed transitory,
     * possibly allowing the service associated to the session in this state to run in the
     * foreground.
     *
     * @see Builder#setState
     */
    @FlaggedApi(FLAG_ENABLE_NOTIFYING_ACTIVITY_MANAGER_WITH_MEDIA_SESSION_STATUS_CHANGE)
    public static final int STATE_PLAYBACK_SUPPRESSED = 12;

    /**
     * Use this value for the position to indicate the position is not known.
     */
@@ -384,6 +401,7 @@ public final class PlaybackState implements Parcelable {
     * <li> {@link PlaybackState#STATE_SKIPPING_TO_PREVIOUS}</li>
     * <li> {@link PlaybackState#STATE_SKIPPING_TO_NEXT}</li>
     * <li> {@link PlaybackState#STATE_SKIPPING_TO_QUEUE_ITEM}</li>
     * <li> {@link PlaybackState#STATE_PLAYBACK_SUPPRESSED}</li>
     * </ul>
     */
    @State
@@ -507,6 +525,7 @@ public final class PlaybackState implements Parcelable {
     * <li>{@link #STATE_SKIPPING_TO_NEXT}</li>
     * <li>{@link #STATE_SKIPPING_TO_PREVIOUS}</li>
     * <li>{@link #STATE_SKIPPING_TO_QUEUE_ITEM}</li>
     * <li>{@link #STATE_PLAYBACK_SUPPRESSED}</li>
     * </ul>
     */
    public boolean isActive() {
@@ -519,6 +538,7 @@ public final class PlaybackState implements Parcelable {
            case PlaybackState.STATE_BUFFERING:
            case PlaybackState.STATE_CONNECTING:
            case PlaybackState.STATE_PLAYING:
            case PlaybackState.STATE_PLAYBACK_SUPPRESSED:
                return true;
        }
        return false;
@@ -564,6 +584,8 @@ public final class PlaybackState implements Parcelable {
                return "SKIPPING_TO_NEXT";
            case STATE_SKIPPING_TO_QUEUE_ITEM:
                return "SKIPPING_TO_QUEUE_ITEM";
            case STATE_PLAYBACK_SUPPRESSED:
                return "STATE_PLAYBACK_SUPPRESSED";
            default:
                return "UNKNOWN";
        }
@@ -801,6 +823,7 @@ public final class PlaybackState implements Parcelable {
         * <li> {@link PlaybackState#STATE_SKIPPING_TO_PREVIOUS}</li>
         * <li> {@link PlaybackState#STATE_SKIPPING_TO_NEXT}</li>
         * <li> {@link PlaybackState#STATE_SKIPPING_TO_QUEUE_ITEM}</li>
         * <li> {@link PlaybackState#STATE_PLAYBACK_SUPPRESSED}</li>
         * </ul>
         *
         * @param state The current state of playback.
@@ -845,6 +868,7 @@ public final class PlaybackState implements Parcelable {
         * <li> {@link PlaybackState#STATE_SKIPPING_TO_PREVIOUS}</li>
         * <li> {@link PlaybackState#STATE_SKIPPING_TO_NEXT}</li>
         * <li> {@link PlaybackState#STATE_SKIPPING_TO_QUEUE_ITEM}</li>
         * <li> {@link PlaybackState#STATE_PLAYBACK_SUPPRESSED}</li>
         * </ul>
         *
         * @param state The current state of playback.