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

Commit 0002b8ec authored by Shubang Lu's avatar Shubang Lu Committed by Android (Google) Code Review
Browse files

Merge changes Ia4ddc70e,I0ded9f17,I9a1a9311 into main

* changes:
  [CSAI API] Unhide keyevent and media view APIs
  [CSAI API] Unhide session data APIs
  [CSAI API] Unhide start / stop service APIs
parents 601a1a2d 02b02810
Loading
Loading
Loading
Loading
+53 −0
Original line number Diff line number Diff line
@@ -27305,6 +27305,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
@@ -27456,8 +27474,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);
  }
@@ -27641,6 +27661,16 @@ package android.media.tv.ad {
  @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public class TvAdManager {
    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 {
@@ -27660,17 +27690,26 @@ package android.media.tv.ad {
  public abstract static class TvAdService.Session implements android.view.KeyEvent.Callback {
    ctor public TvAdService.Session(@NonNull android.content.Context);
    method public boolean isMediaViewEnabled();
    method @CallSuper public void layoutSurface(int, int, int, int);
    method @Nullable public android.view.View onCreateMediaView();
    method public boolean onGenericMotionEvent(@NonNull android.view.MotionEvent);
    method public boolean onKeyDown(int, @Nullable android.view.KeyEvent);
    method public boolean onKeyLongPress(int, @Nullable android.view.KeyEvent);
    method public boolean onKeyMultiple(int, int, @Nullable android.view.KeyEvent);
    method public boolean onKeyUp(int, @Nullable android.view.KeyEvent);
    method public void onMediaViewSizeChanged(@Px int, @Px int);
    method public abstract void onRelease();
    method public void onResetAdService();
    method public abstract boolean onSetSurface(@Nullable android.view.Surface);
    method public void onStartAdService();
    method public void onStopAdService();
    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);
    method @CallSuper public void setMediaViewEnabled(boolean);
  }
  @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public final class TvAdServiceInfo implements android.os.Parcelable {
@@ -27687,12 +27726,26 @@ package android.media.tv.ad {
    ctor public TvAdView(@NonNull android.content.Context);
    ctor public TvAdView(@NonNull android.content.Context, @Nullable android.util.AttributeSet);
    ctor public TvAdView(@NonNull android.content.Context, @Nullable android.util.AttributeSet, int);
    method public void clearOnUnhandledInputEventListener();
    method public boolean dispatchUnhandledInputEvent(@NonNull android.view.InputEvent);
    method @Nullable public android.media.tv.ad.TvAdView.OnUnhandledInputEventListener getOnUnhandledInputEventListener();
    method public void onAttachedToWindow();
    method public void onDetachedFromWindow();
    method public void onLayout(boolean, int, int, int, int);
    method public void onMeasure(int, int);
    method public boolean onUnhandledInputEvent(@NonNull android.view.InputEvent);
    method public void onVisibilityChanged(@NonNull android.view.View, int);
    method public void prepareAdService(@NonNull String, @NonNull String);
    method public void reset();
    method public void resetAdService();
    method public void setOnUnhandledInputEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.ad.TvAdView.OnUnhandledInputEventListener);
    method public boolean setTvView(@Nullable android.media.tv.TvView);
    method public void startAdService();
    method public void stopAdService();
  }
  public static interface TvAdView.OnUnhandledInputEventListener {
    method public boolean onUnhandledInputEvent(@NonNull android.view.InputEvent);
  }
}
+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 −18
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";

@@ -510,7 +502,6 @@ public class TvAdManager {
     *
     * @param callback A callback used to monitor status of the TV AD services.
     * @param executor A {@link Executor} that the status change will be delivered to.
     * @hide
     */
    public void registerCallback(
            @CallbackExecutor @NonNull Executor executor,
@@ -526,7 +517,6 @@ public class TvAdManager {
     * Unregisters the existing {@link TvAdServiceCallback}.
     *
     * @param callback The existing callback to remove.
     * @hide
     */
    public void unregisterCallback(@NonNull final TvAdServiceCallback callback) {
        Preconditions.checkNotNull(callback);
+5 −14
Original line number Diff line number Diff line
@@ -199,7 +199,6 @@ public abstract class TvAdService extends Service {
         *
         * @param enable {@code true} if you want to enable the media view. {@code false}
         *            otherwise.
         * @hide
         */
        @CallSuper
        public void setMediaViewEnabled(final boolean enable) {
@@ -225,7 +224,6 @@ public abstract class TvAdService extends Service {
         * Returns {@code true} if media view is enabled, {@code false} otherwise.
         *
         * @see #setMediaViewEnabled(boolean)
         * @hide
         */
        public boolean isMediaViewEnabled() {
            return mMediaViewEnabled;
@@ -253,21 +251,18 @@ public abstract class TvAdService extends Service {

        /**
         * Starts TvAdService session.
         * @hide
         */
        public void onStartAdService() {
        }

        /**
         * Stops TvAdService session.
         * @hide
         */
        public void onStopAdService() {
        }

        /**
         * Resets TvAdService session.
         * @hide
         */
        public void onResetAdService() {
        }
@@ -618,9 +613,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) {
@@ -636,7 +630,6 @@ public abstract class TvAdService extends Service {
         *
         * @param width The width of the media view, in pixels.
         * @param height The height of the media view, in pixels.
         * @hide
         */
        public void onMediaViewSizeChanged(@Px int width, @Px int height) {
        }
@@ -646,7 +639,6 @@ public abstract class TvAdService extends Service {
         * implementation can override this method and return its own view.
         *
         * @return a view attached to the media window. {@code null} if no media view is created.
         * @hide
         */
        @Nullable
        public View onCreateMediaView() {
@@ -654,27 +646,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