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

Commit 6941df70 authored by Shubang Lu's avatar Shubang Lu
Browse files

[CSAI API] Unhide session data APIs

Bug: 321108085
Test: CtsTvTestCases
API-Coverage-Bug: 320723228
Change-Id: I0ded9f17333e12b8a639707bb6e0ac4099056a89
parent 74e00356
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
@@ -27296,6 +27296,24 @@ package android.media.tv {
    field public static final int RECORDING_ERROR_INSUFFICIENT_SPACE = 1; // 0x1
    field public static final int RECORDING_ERROR_RESOURCE_BUSY = 2; // 0x2
    field public static final int RECORDING_ERROR_UNKNOWN = 0; // 0x0
    field @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public static final String SESSION_DATA_KEY_AD_BUFFER = "ad_buffer";
    field @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public static final String SESSION_DATA_KEY_AD_RESPONSE = "ad_response";
    field @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public static final String SESSION_DATA_KEY_BROADCAST_INFO_RESPONSE = "broadcast_info_response";
    field @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public static final String SESSION_DATA_KEY_CHANNEL_URI = "channel_uri";
    field @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public static final String SESSION_DATA_KEY_TRACKS = "tracks";
    field @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public static final String SESSION_DATA_KEY_TRACK_ID = "track_id";
    field @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public static final String SESSION_DATA_KEY_TRACK_TYPE = "track_type";
    field @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public static final String SESSION_DATA_KEY_TV_MESSAGE_TYPE = "tv_message_type";
    field @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public static final String SESSION_DATA_KEY_VIDEO_UNAVAILABLE_REASON = "video_unavailable_reason";
    field @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public static final String SESSION_DATA_TYPE_AD_BUFFER_CONSUMED = "ad_buffer_consumed";
    field @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public static final String SESSION_DATA_TYPE_AD_RESPONSE = "ad_response";
    field @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public static final String SESSION_DATA_TYPE_BROADCAST_INFO_RESPONSE = "broadcast_info_response";
    field @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public static final String SESSION_DATA_TYPE_TRACKS_CHANGED = "tracks_changed";
    field @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public static final String SESSION_DATA_TYPE_TRACK_SELECTED = "track_selected";
    field @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public static final String SESSION_DATA_TYPE_TUNED = "tuned";
    field @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public static final String SESSION_DATA_TYPE_TV_MESSAGE = "tv_message";
    field @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public static final String SESSION_DATA_TYPE_VIDEO_AVAILABLE = "video_available";
    field @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public static final String SESSION_DATA_TYPE_VIDEO_UNAVAILABLE = "video_unavailable";
    field public static final int SIGNAL_STRENGTH_LOST = 1; // 0x1
    field public static final int SIGNAL_STRENGTH_STRONG = 3; // 0x3
    field public static final int SIGNAL_STRENGTH_WEAK = 2; // 0x2
@@ -27447,8 +27465,10 @@ package android.media.tv {
    method public boolean onTrackballEvent(android.view.MotionEvent);
    method public abstract boolean onTune(android.net.Uri);
    method public boolean onTune(android.net.Uri, android.os.Bundle);
    method @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public void onTvAdSessionData(@NonNull String, @NonNull android.os.Bundle);
    method public void onTvMessage(int, @NonNull android.os.Bundle);
    method public void onUnblockContent(android.media.tv.TvContentRating);
    method @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public void sendTvInputSessionData(@NonNull String, @NonNull android.os.Bundle);
    method public void setOverlayViewEnabled(boolean);
  }
@@ -27634,6 +27654,14 @@ package android.media.tv.ad {
    method @NonNull public java.util.List<android.media.tv.ad.TvAdServiceInfo> getTvAdServiceList();
    method public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.ad.TvAdManager.TvAdServiceCallback);
    method public void unregisterCallback(@NonNull android.media.tv.ad.TvAdManager.TvAdServiceCallback);
    field public static final String SESSION_DATA_KEY_AD_BUFFER = "ad_buffer";
    field public static final String SESSION_DATA_KEY_AD_REQUEST = "ad_request";
    field public static final String SESSION_DATA_KEY_BROADCAST_INFO_REQUEST = "broadcast_info_request";
    field public static final String SESSION_DATA_KEY_REQUEST_ID = "request_id";
    field public static final String SESSION_DATA_TYPE_AD_BUFFER_READY = "ad_buffer_ready";
    field public static final String SESSION_DATA_TYPE_AD_REQUEST = "ad_request";
    field public static final String SESSION_DATA_TYPE_BROADCAST_INFO_REQUEST = "broadcast_info_request";
    field public static final String SESSION_DATA_TYPE_REMOVE_BROADCAST_INFO_REQUEST = "remove_broadcast_info_request";
  }
  public abstract static class TvAdManager.TvAdServiceCallback {
@@ -27667,6 +27695,8 @@ package android.media.tv.ad {
    method public void onSurfaceChanged(int, int, int);
    method public boolean onTouchEvent(@NonNull android.view.MotionEvent);
    method public boolean onTrackballEvent(@NonNull android.view.MotionEvent);
    method public void onTvInputSessionData(@NonNull String, @NonNull android.os.Bundle);
    method public void sendTvAdSessionData(@NonNull String, @NonNull android.os.Bundle);
  }
  @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public final class TvAdServiceInfo implements android.os.Parcelable {
@@ -27691,6 +27721,7 @@ package android.media.tv.ad {
    method public void prepareAdService(@NonNull String, @NonNull String);
    method public void reset();
    method public void resetAdService();
    method public boolean setTvView(@Nullable android.media.tv.TvView);
    method public void startAdService();
    method public void stopAdService();
  }
+36 −36
Original line number Diff line number Diff line
@@ -556,85 +556,85 @@ public final class TvInputManager {
    /**
     * Informs the application that the session has been tuned to the given channel.
     *
     * @see TvInputService.Session#notifyTvInputSessionData(String, Bundle)
     * @see TvInputService.Session#sendTvInputSessionData(String, Bundle)
     * @see SESSION_DATA_KEY_CHANNEL_URI
     * @hide
     */
    @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
    public static final String SESSION_DATA_TYPE_TUNED = "tuned";

    /**
     * Sends the type and ID of a selected track. This is used to inform the application that a
     * specific track is selected.
     *
     * @see TvInputService.Session#notifyTvInputSessionData(String, Bundle)
     * @see TvInputService.Session#sendTvInputSessionData(String, Bundle)
     * @see SESSION_DATA_KEY_TRACK_TYPE
     * @see SESSION_DATA_KEY_TRACK_ID
     * @hide
     */
    @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
    public static final String SESSION_DATA_TYPE_TRACK_SELECTED = "track_selected";

    /**
     * Sends the list of all audio/video/subtitle tracks.
     *
     * @see TvInputService.Session#notifyTvInputSessionData(String, Bundle)
     * @see TvInputService.Session#sendTvInputSessionData(String, Bundle)
     * @see SESSION_DATA_KEY_TRACKS
     * @hide
     */
    @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
    public static final String SESSION_DATA_TYPE_TRACKS_CHANGED = "tracks_changed";

    /**
     * Informs the application that the video is now available for watching.
     *
     * @see TvInputService.Session#notifyTvInputSessionData(String, Bundle)
     * @hide
     * @see TvInputService.Session#sendTvInputSessionData(String, Bundle)
     */
    @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
    public static final String SESSION_DATA_TYPE_VIDEO_AVAILABLE = "video_available";

    /**
     * Informs the application that the video became unavailable for some reason.
     *
     * @see TvInputService.Session#notifyTvInputSessionData(String, Bundle)
     * @see TvInputService.Session#sendTvInputSessionData(String, Bundle)
     * @see SESSION_DATA_KEY_VIDEO_UNAVAILABLE_REASON
     * @hide
     */
    @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
    public static final String SESSION_DATA_TYPE_VIDEO_UNAVAILABLE = "video_unavailable";

    /**
     * Notifies response for broadcast info.
     *
     * @see TvInputService.Session#notifyTvInputSessionData(String, Bundle)
     * @see TvInputService.Session#sendTvInputSessionData(String, Bundle)
     * @see SESSION_DATA_KEY_BROADCAST_INFO_RESPONSE
     * @hide
     */
    @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
    public static final String SESSION_DATA_TYPE_BROADCAST_INFO_RESPONSE =
            "broadcast_info_response";

    /**
     * Notifies response for advertisement.
     *
     * @see TvInputService.Session#notifyTvInputSessionData(String, Bundle)
     * @see TvInputService.Session#sendTvInputSessionData(String, Bundle)
     * @see SESSION_DATA_KEY_AD_RESPONSE
     * @hide
     */
    @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
    public static final String SESSION_DATA_TYPE_AD_RESPONSE = "ad_response";

    /**
     * Notifies the advertisement buffer is consumed.
     *
     * @see TvInputService.Session#notifyTvInputSessionData(String, Bundle)
     * @see TvInputService.Session#sendTvInputSessionData(String, Bundle)
     * @see SESSION_DATA_KEY_AD_BUFFER
     * @hide
     */
    @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
    public static final String SESSION_DATA_TYPE_AD_BUFFER_CONSUMED = "ad_buffer_consumed";

    /**
     * Sends the TV message.
     *
     * @see TvInputService.Session#notifyTvInputSessionData(String, Bundle)
     * @see TvInputService.Session#sendTvInputSessionData(String, Bundle)
     * @see TvInputService.Session#notifyTvMessage(int, Bundle)
     * @see SESSION_DATA_KEY_TV_MESSAGE_TYPE
     * @hide
     */
    @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
    public static final String SESSION_DATA_TYPE_TV_MESSAGE = "tv_message";


@@ -657,9 +657,9 @@ public final class TvInputManager {
     *
     * <p> Type: android.net.Uri
     *
     * @see TvInputService.Session#notifyTvInputSessionData(String, Bundle)
     * @hide
     * @see TvInputService.Session#sendTvInputSessionData(String, Bundle)
     */
    @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
    public static final String SESSION_DATA_KEY_CHANNEL_URI = "channel_uri";

    /**
@@ -671,9 +671,9 @@ public final class TvInputManager {
     * <p> Type: Integer
     *
     * @see TvTrackInfo#getType()
     * @see TvInputService.Session#notifyTvInputSessionData(String, Bundle)
     * @hide
     * @see TvInputService.Session#sendTvInputSessionData(String, Bundle)
     */
    @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
    public static final String SESSION_DATA_KEY_TRACK_TYPE = "track_type";

    /**
@@ -682,9 +682,9 @@ public final class TvInputManager {
     * <p> Type: String
     *
     * @see TvTrackInfo#getId()
     * @see TvInputService.Session#notifyTvInputSessionData(String, Bundle)
     * @hide
     * @see TvInputService.Session#sendTvInputSessionData(String, Bundle)
     */
    @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
    public static final String SESSION_DATA_KEY_TRACK_ID = "track_id";

    /**
@@ -692,9 +692,9 @@ public final class TvInputManager {
     *
     * <p> Type: {@code java.util.List<android.media.tv.TvTrackInfo> }
     *
     * @see TvInputService.Session#notifyTvInputSessionData(String, Bundle)
     * @hide
     * @see TvInputService.Session#sendTvInputSessionData(String, Bundle)
     */
    @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
    public static final String SESSION_DATA_KEY_TRACKS = "tracks";

    /**
@@ -704,9 +704,9 @@ public final class TvInputManager {
     *
     * <p> Type: Integer
     *
     * @see TvInputService.Session#notifyTvInputSessionData(String, Bundle)
     * @hide
     * @see TvInputService.Session#sendTvInputSessionData(String, Bundle)
     */
    @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
    public static final String SESSION_DATA_KEY_VIDEO_UNAVAILABLE_REASON =
            "video_unavailable_reason";

@@ -715,9 +715,9 @@ public final class TvInputManager {
     *
     * <p> Type: android.media.tv.BroadcastInfoResponse
     *
     * @see TvInputService.Session#notifyTvInputSessionData(String, Bundle)
     * @hide
     * @see TvInputService.Session#sendTvInputSessionData(String, Bundle)
     */
    @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
    public static final String SESSION_DATA_KEY_BROADCAST_INFO_RESPONSE = "broadcast_info_response";

    /**
@@ -725,9 +725,9 @@ public final class TvInputManager {
     *
     * <p> Type: android.media.tv.AdResponse
     *
     * @see TvInputService.Session#notifyTvInputSessionData(String, Bundle)
     * @hide
     * @see TvInputService.Session#sendTvInputSessionData(String, Bundle)
     */
    @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
    public static final String SESSION_DATA_KEY_AD_RESPONSE = "ad_response";

    /**
@@ -735,9 +735,9 @@ public final class TvInputManager {
     *
     * <p> Type: android.media.tv.AdBuffer
     *
     * @see TvInputService.Session#notifyTvInputSessionData(String, Bundle)
     * @hide
     * @see TvInputService.Session#sendTvInputSessionData(String, Bundle)
     */
    @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
    public static final String SESSION_DATA_KEY_AD_BUFFER = "ad_buffer";

    /**
@@ -747,9 +747,9 @@ public final class TvInputManager {
     *
     * <p> Type: Integer
     *
     * @see TvInputService.Session#notifyTvInputSessionData(String, Bundle)
     * @hide
     * @see TvInputService.Session#sendTvInputSessionData(String, Bundle)
     */
    @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
    public static final String SESSION_DATA_KEY_TV_MESSAGE_TYPE = "tv_message_type";


+7 −7
Original line number Diff line number Diff line
@@ -1262,7 +1262,7 @@ public abstract class TvInputService extends Service {
        }

        /**
         * Notifies data related to this session to corresponding linked
         * Sends data related to this session to corresponding linked
         * {@link android.media.tv.ad.TvAdService} object via TvAdView.
         *
         * <p>Methods like {@link #notifyBroadcastInfoResponse(BroadcastInfoResponse)} sends the
@@ -1272,21 +1272,21 @@ public abstract class TvInputService extends Service {
         *
         * @param type data type
         * @param data the related data values
         * @hide
         */
        public void notifyTvInputSessionData(
        @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
        public void sendTvInputSessionData(
                @NonNull @TvInputManager.SessionDataType String type, @NonNull Bundle data) {
            executeOrPostRunnableOnMainThread(new Runnable() {
                @MainThread
                @Override
                public void run() {
                    try {
                        if (DEBUG) Log.d(TAG, "notifyTvInputSessionData");
                        if (DEBUG) Log.d(TAG, "sendTvInputSessionData");
                        if (mSessionCallback != null) {
                            mSessionCallback.onTvInputSessionData(type, data);
                        }
                    } catch (RemoteException e) {
                        Log.w(TAG, "error in notifyTvInputSessionData", e);
                        Log.w(TAG, "error in sendTvInputSessionData", e);
                    }
                }
            });
@@ -1441,10 +1441,10 @@ public abstract class TvInputService extends Service {
         *
         * @param type the type of the data
         * @param data a bundle contains the data received
         * @see android.media.tv.ad.TvAdService.Session#notifyTvAdSessionData(String, Bundle)
         * @see android.media.tv.ad.TvAdService.Session#sendTvAdSessionData(String, Bundle)
         * @see android.media.tv.ad.TvAdView#setTvView(TvView)
         * @hide
         */
        @FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
        public void onTvAdSessionData(
                @NonNull @TvAdManager.SessionDataType String type, @NonNull Bundle data) {
        }
+8 −16
Original line number Diff line number Diff line
@@ -171,36 +171,32 @@ public class TvAdManager {
    /**
     * Sends an advertisement request to be processed by the related TV input.
     *
     * @see TvAdService.Session#notifyTvAdSessionData(String, Bundle)
     * @see TvAdService.Session#sendTvAdSessionData(String, Bundle)
     * @see SESSION_DATA_KEY_AD_REQUEST
     * @hide
     */
    public static final String SESSION_DATA_TYPE_AD_REQUEST = "ad_request";

    /**
     * Notifies the advertisement buffer is ready.
     *
     * @see TvAdService.Session#notifyTvAdSessionData(String, Bundle)
     * @see TvAdService.Session#sendTvAdSessionData(String, Bundle)
     * @see SESSION_DATA_KEY_AD_BUFFER
     * @hide
     */
    public static final String SESSION_DATA_TYPE_AD_BUFFER_READY = "ad_buffer_ready";

    /**
     * Sends request for broadcast info.
     *
     * @see TvAdService.Session#notifyTvAdSessionData(String, Bundle)
     * @see TvAdService.Session#sendTvAdSessionData(String, Bundle)
     * @see SESSION_DATA_KEY_BROADCAST_INFO_RESQUEST
     * @hide
     */
    public static final String SESSION_DATA_TYPE_BROADCAST_INFO_REQUEST = "broadcast_info_request";

    /**
     * Removes request for broadcast info.
     *
     * @see TvAdService.Session#notifyTvAdSessionData(String, Bundle)
     * @see TvAdService.Session#sendTvAdSessionData(String, Bundle)
     * @see SESSION_DATA_KEY_BROADCAST_INFO_REQUEST_ID
     * @hide
     */
    public static final String SESSION_DATA_TYPE_REMOVE_BROADCAST_INFO_REQUEST =
            "remove_broadcast_info_request";
@@ -220,8 +216,7 @@ public class TvAdManager {
     *
     * <p> Type: android.media.tv.AdRequest
     *
     * @see TvAdService.Session#notifyTvAdSessionData(String, Bundle)
     * @hide
     * @see TvAdService.Session#sendTvAdSessionData(String, Bundle)
     */
    public static final String SESSION_DATA_KEY_AD_REQUEST = "ad_request";

@@ -230,8 +225,7 @@ public class TvAdManager {
     *
     * <p> Type: android.media.tv.AdBuffer
     *
     * @see TvAdService.Session#notifyTvAdSessionData(String, Bundle)
     * @hide
     * @see TvAdService.Session#sendTvAdSessionData(String, Bundle)
     */
    public static final String SESSION_DATA_KEY_AD_BUFFER = "ad_buffer";

@@ -240,8 +234,7 @@ public class TvAdManager {
     *
     * <p> Type: android.media.tv.BroadcastInfoRequest
     *
     * @see TvAdService.Session#notifyTvAdSessionData(String, Bundle)
     * @hide
     * @see TvAdService.Session#sendTvAdSessionData(String, Bundle)
     */
    public static final String SESSION_DATA_KEY_BROADCAST_INFO_REQUEST = "broadcast_info_request";

@@ -250,8 +243,7 @@ public class TvAdManager {
     *
     * <p> Type: Integer
     *
     * @see TvAdService.Session#notifyTvAdSessionData(String, Bundle)
     * @hide
     * @see TvAdService.Session#sendTvAdSessionData(String, Bundle)
     */
    public static final String SESSION_DATA_KEY_REQUEST_ID = "request_id";

+5 −7
Original line number Diff line number Diff line
@@ -615,9 +615,8 @@ public abstract class TvAdService extends Service {
         *
         * @param type the type of the data
         * @param data a bundle contains the data received
         * @see android.media.tv.TvInputService.Session#notifyTvAdSessionData(String, Bundle)
         * @see android.media.tv.TvInputService.Session#sendTvInputSessionData(String, Bundle)
         * @see android.media.tv.ad.TvAdView#setTvView(TvView)
         * @hide
         */
        public void onTvInputSessionData(
                @NonNull @TvInputManager.SessionDataType String type, @NonNull Bundle data) {
@@ -651,27 +650,26 @@ public abstract class TvAdService extends Service {
        }

        /**
         * Notifies data related to this session to corresponding linked
         * Sends data related to this session to corresponding linked
         * {@link android.media.tv.TvInputService} object via TvView.
         *
         * @param type data type
         * @param data the related data values
         * @see TvAdView#setTvView(TvView)
         * @hide
         */
        public void notifyTvAdSessionData(
        public void sendTvAdSessionData(
                @NonNull @TvAdManager.SessionDataType String type, @NonNull Bundle data) {
            executeOrPostRunnableOnMainThread(new Runnable() {
                @MainThread
                @Override
                public void run() {
                    try {
                        if (DEBUG) Log.d(TAG, "notifyTvAdSessionData");
                        if (DEBUG) Log.d(TAG, "sendTvAdSessionData");
                        if (mSessionCallback != null) {
                            mSessionCallback.onTvAdSessionData(type, data);
                        }
                    } catch (RemoteException e) {
                        Log.w(TAG, "error in notifyTvAdSessionData", e);
                        Log.w(TAG, "error in sendTvAdSessionData", e);
                    }
                }
            });
Loading