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

Commit 70be42fa authored by David Zhao's avatar David Zhao
Browse files

Unhide Playback APIs

Test: mmm
Bug: 309546641
Change-Id: I5439769dadcc238540ec2e89334dacbfd4e4aa4a
parent 56bff5c8
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -27316,6 +27316,7 @@ package android.media.tv {
    field public static final int VIDEO_UNAVAILABLE_REASON_CAS_UNKNOWN = 18; // 0x12
    field public static final int VIDEO_UNAVAILABLE_REASON_INSUFFICIENT_RESOURCE = 6; // 0x6
    field public static final int VIDEO_UNAVAILABLE_REASON_NOT_CONNECTED = 5; // 0x5
    field @FlaggedApi("android.media.tv.flags.tiaf_v_apis") public static final int VIDEO_UNAVAILABLE_REASON_STOPPED = 19; // 0x13
    field public static final int VIDEO_UNAVAILABLE_REASON_TUNING = 1; // 0x1
    field public static final int VIDEO_UNAVAILABLE_REASON_UNKNOWN = 0; // 0x0
    field public static final int VIDEO_UNAVAILABLE_REASON_WEAK_SIGNAL = 2; // 0x2
@@ -27407,6 +27408,7 @@ package android.media.tv {
    method public void onRemoveBroadcastInfo(int);
    method public void onRequestAd(@NonNull android.media.tv.AdRequest);
    method public void onRequestBroadcastInfo(@NonNull android.media.tv.BroadcastInfoRequest);
    method @FlaggedApi("android.media.tv.flags.tiaf_v_apis") public void onResumePlayback();
    method public boolean onSelectAudioPresentation(int, int);
    method public boolean onSelectTrack(int, @Nullable String);
    method public abstract void onSetCaptionEnabled(boolean);
@@ -27414,6 +27416,7 @@ package android.media.tv {
    method public abstract void onSetStreamVolume(@FloatRange(from=0.0, to=1.0) float);
    method public abstract boolean onSetSurface(@Nullable android.view.Surface);
    method public void onSetTvMessageEnabled(int, boolean);
    method @FlaggedApi("android.media.tv.flags.tiaf_v_apis") public void onStopPlayback(int);
    method public void onSurfaceChanged(int, int, int);
    method public long onTimeShiftGetCurrentPosition();
    method public long onTimeShiftGetStartPosition();
@@ -27548,6 +27551,7 @@ package android.media.tv {
    method public boolean onUnhandledInputEvent(android.view.InputEvent);
    method public void overrideTvAppAttributionSource(@NonNull android.content.AttributionSource);
    method public void reset();
    method @FlaggedApi("android.media.tv.flags.tiaf_v_apis") public void resumePlayback();
    method public void selectAudioPresentation(int, int);
    method public void selectTrack(int, String);
    method public void sendAppPrivateCommand(@NonNull String, android.os.Bundle);
@@ -27560,6 +27564,7 @@ package android.media.tv {
    method public void setTvMessageEnabled(int, boolean);
    method public void setZOrderMediaOverlay(boolean);
    method public void setZOrderOnTop(boolean);
    method @FlaggedApi("android.media.tv.flags.tiaf_v_apis") public void stopPlayback(int);
    method public void timeShiftPause();
    method public void timeShiftPlay(String, android.net.Uri);
    method public void timeShiftResume();
+1 −1
Original line number Diff line number Diff line
@@ -111,7 +111,7 @@ interface ITvInputManager {
    void resumeRecording(in IBinder sessionToken, in Bundle params, int userId);

    // For playback control
    void startPlayback(in IBinder sessionToken, int userId);
    void resumePlayback(in IBinder sessionToken, int userId);
    void stopPlayback(in IBinder sessionToken, int mode, int userId);

    // For broadcast info
+1 −1
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@ oneway interface ITvInputSession {
    void timeShiftSetMode(int mode);
    void timeShiftEnablePositionTracking(boolean enable);

    void startPlayback();
    void resumePlayback();
    void stopPlayback(int mode);

    // For the recording session
+5 −5
Original line number Diff line number Diff line
@@ -80,7 +80,7 @@ public class ITvInputSessionWrapper extends ITvInputSession.Stub implements Hand
    private static final int DO_SET_TV_MESSAGE_ENABLED = 31;
    private static final int DO_NOTIFY_TV_MESSAGE = 32;
    private static final int DO_STOP_PLAYBACK = 33;
    private static final int DO_START_PLAYBACK = 34;
    private static final int DO_RESUME_PLAYBACK = 34;
    private static final int DO_SET_VIDEO_FROZEN = 35;
    private static final int DO_NOTIFY_AD_SESSION_DATA = 36;

@@ -295,8 +295,8 @@ public class ITvInputSessionWrapper extends ITvInputSession.Stub implements Hand
                mTvInputSessionImpl.stopPlayback(msg.arg1);
                break;
            }
            case DO_START_PLAYBACK: {
                mTvInputSessionImpl.startPlayback();
            case DO_RESUME_PLAYBACK: {
                mTvInputSessionImpl.resumePlayback();
                break;
            }
            case DO_SET_VIDEO_FROZEN: {
@@ -523,8 +523,8 @@ public class ITvInputSessionWrapper extends ITvInputSession.Stub implements Hand
    }

    @Override
    public void startPlayback() {
        mCaller.executeOrSendMessage(mCaller.obtainMessage(DO_START_PLAYBACK));
    public void resumePlayback() {
        mCaller.executeOrSendMessage(mCaller.obtainMessage(DO_RESUME_PLAYBACK));
    }


+8 −5
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.media.tv;

import android.annotation.CallbackExecutor;
import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.IntRange;
import android.annotation.NonNull;
@@ -35,6 +36,7 @@ import android.media.AudioFormat.Encoding;
import android.media.AudioPresentation;
import android.media.PlaybackParams;
import android.media.tv.ad.TvAdManager;
import android.media.tv.flags.Flags;
import android.media.tv.interactive.TvInteractiveAppManager;
import android.net.Uri;
import android.os.Binder;
@@ -131,7 +133,8 @@ public final class TvInputManager {
            VIDEO_UNAVAILABLE_REASON_CAS_NEED_ACTIVATION, VIDEO_UNAVAILABLE_REASON_CAS_NEED_PAIRING,
            VIDEO_UNAVAILABLE_REASON_CAS_NO_CARD, VIDEO_UNAVAILABLE_REASON_CAS_CARD_MUTE,
            VIDEO_UNAVAILABLE_REASON_CAS_CARD_INVALID, VIDEO_UNAVAILABLE_REASON_CAS_BLACKOUT,
            VIDEO_UNAVAILABLE_REASON_CAS_REBOOTING, VIDEO_UNAVAILABLE_REASON_CAS_UNKNOWN})
            VIDEO_UNAVAILABLE_REASON_CAS_REBOOTING, VIDEO_UNAVAILABLE_REASON_CAS_UNKNOWN,
            VIDEO_UNAVAILABLE_REASON_STOPPED})
    public @interface VideoUnavailableReason {}

    /** Indicates that this TV message contains watermarking data */
@@ -344,9 +347,9 @@ public final class TvInputManager {
    /**
     * Reason for {@link TvInputService.Session#notifyVideoUnavailable(int)} and
     * {@link TvView.TvInputCallback#onVideoUnavailable(String, int)}: Video is unavailable because
     * it has been stopped by stopPlayback.
     * @hide
     * it has been stopped by {@link TvView#stopPlayback(int)}.
     */
    @FlaggedApi(Flags.FLAG_TIAF_V_APIS)
    public static final int VIDEO_UNAVAILABLE_REASON_STOPPED = 19;

    /** @hide */
@@ -3616,13 +3619,13 @@ public final class TvInputManager {
            }
        }

        void startPlayback() {
        void resumePlayback() {
            if (mToken == null) {
                Log.w(TAG, "The session has been already released");
                return;
            }
            try {
                mService.startPlayback(mToken, mUserId);
                mService.resumePlayback(mToken, mUserId);
            } catch (RemoteException e) {
                throw e.rethrowFromSystemServer();
            }
Loading