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

Commit a2d48d9d authored by Shubang Lu's avatar Shubang Lu
Browse files

[CSAI API] Unhide TvAdServiceInfo and related APIs

Bug: 319733468
Test: atest android.media.tv.ad.cts.TvAdManagerTest
API-Coverage-Bug: 320723228
Change-Id: I68cd3de8f31a1a4b144ec0553383b7b84602dd0b
parent 5a062374
Loading
Loading
Loading
Loading
+39 −0
Original line number Diff line number Diff line
@@ -27611,6 +27611,45 @@ package android.media.tv {
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();
  }
  public abstract static class TvAdManager.TvAdServiceCallback {
    ctor public TvAdManager.TvAdServiceCallback();
    method public void onAdServiceAdded(@NonNull String);
    method public void onAdServiceRemoved(@NonNull String);
    method public void onAdServiceUpdated(@NonNull String);
  }
  @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public abstract class TvAdService extends android.app.Service {
    ctor public TvAdService();
    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
    method @Nullable public abstract android.media.tv.ad.TvAdService.Session onCreateSession(@NonNull String, @NonNull String);
    field public static final String SERVICE_INTERFACE = "android.media.tv.ad.TvAdService";
    field public static final String SERVICE_META_DATA = "android.media.tv.ad.service";
  }
  public abstract static class TvAdService.Session implements android.view.KeyEvent.Callback {
    ctor public TvAdService.Session(@NonNull android.content.Context);
    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 abstract void onRelease();
    method public abstract boolean onSetSurface(@Nullable android.view.Surface);
    method public boolean onTouchEvent(@NonNull android.view.MotionEvent);
    method public boolean onTrackballEvent(@NonNull android.view.MotionEvent);
  }
  @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public final class TvAdServiceInfo implements android.os.Parcelable {
    ctor public TvAdServiceInfo(@NonNull android.content.Context, @NonNull android.content.ComponentName);
    method public int describeContents();
    method @NonNull public String getId();
    method @Nullable public android.content.pm.ServiceInfo getServiceInfo();
    method @NonNull public java.util.List<java.lang.String> getSupportedTypes();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.ad.TvAdServiceInfo> CREATOR;
  }
}
+2 −4
Original line number Diff line number Diff line
@@ -437,11 +437,10 @@ public class TvAdManager {
    }

    /**
     * Returns the complete list of TV AD service on the system.
     * Returns the complete list of TV AD services on the system.
     *
     * @return List of {@link TvAdServiceInfo} for each TV AD service that describes its meta
     * information.
     * @hide
     */
    @NonNull
    public List<TvAdServiceInfo> getTvAdServiceList() {
@@ -1174,8 +1173,7 @@ public class TvAdManager {
    }

    /**
     * Callback used to monitor status of the TV AD service.
     * @hide
     * Callback used to monitor status of the TV advertisement service.
     */
    public abstract static class TvAdServiceCallback {
        /**
+12 −7
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.media.tv.ad;

import android.annotation.CallSuper;
import android.annotation.FlaggedApi;
import android.annotation.MainThread;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -32,6 +33,7 @@ import android.graphics.Rect;
import android.media.tv.TvInputManager;
import android.media.tv.TvTrackInfo;
import android.media.tv.TvView;
import android.media.tv.flags.Flags;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
@@ -61,8 +63,8 @@ import java.util.List;

/**
 * The TvAdService class represents a TV client-side advertisement service.
 * @hide
 */
@FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
public abstract class TvAdService extends Service {
    private static final boolean DEBUG = false;
    private static final String TAG = "TvAdService";
@@ -73,7 +75,6 @@ public abstract class TvAdService extends Service {
     * Name under which a TvAdService component publishes information about itself. This meta-data
     * must reference an XML resource containing an
     * <code>&lt;{@link android.R.styleable#TvAdService tv-ad-service}&gt;</code> tag.
     * @hide
     */
    public static final String SERVICE_META_DATA = "android.media.tv.ad.service";

@@ -92,7 +93,7 @@ public abstract class TvAdService extends Service {

    @Override
    @Nullable
    public final IBinder onBind(@NonNull Intent intent) {
    public final IBinder onBind(@Nullable Intent intent) {
        ITvAdService.Stub tvAdServiceBinder = new ITvAdService.Stub() {
            @Override
            public void registerCallback(ITvAdServiceCallback cb) {
@@ -398,6 +399,7 @@ public abstract class TvAdService extends Service {
         * @param data the original bytes to be signed.
         *
         * @see #onSigningResult(String, byte[])
         * @hide
         */
        @CallSuper
        public void requestSigning(@NonNull String signingId, @NonNull String algorithm,
@@ -421,22 +423,22 @@ public abstract class TvAdService extends Service {
        }

        @Override
        public boolean onKeyDown(int keyCode, @NonNull KeyEvent event) {
        public boolean onKeyDown(int keyCode, @Nullable KeyEvent event) {
            return false;
        }

        @Override
        public boolean onKeyLongPress(int keyCode, @NonNull KeyEvent event) {
        public boolean onKeyLongPress(int keyCode, @Nullable KeyEvent event) {
            return false;
        }

        @Override
        public boolean onKeyMultiple(int keyCode, int count, @NonNull KeyEvent event) {
        public boolean onKeyMultiple(int keyCode, int count, @Nullable KeyEvent event) {
            return false;
        }

        @Override
        public boolean onKeyUp(int keyCode, @NonNull KeyEvent event) {
        public boolean onKeyUp(int keyCode, @Nullable KeyEvent event) {
            return false;
        }

@@ -484,6 +486,8 @@ public abstract class TvAdService extends Service {
         * @param top Top position in pixels, relative to the overlay view.
         * @param right Right position in pixels, relative to the overlay view.
         * @param bottom Bottom position in pixels, relative to the overlay view.
         *
         * @hide
         */
        @CallSuper
        public void layoutSurface(final int left, final int top, final int right,
@@ -530,6 +534,7 @@ public abstract class TvAdService extends Service {
         * @param format The new {@link PixelFormat} of the surface.
         * @param width The new width of the surface.
         * @param height The new height of the surface.
         * @hide
         */
        public void onSurfaceChanged(@PixelFormat.Format int format, int width, int height) {
        }
+4 −1
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package android.media.tv.ad;

import android.annotation.FlaggedApi;
import android.annotation.Nullable;
import android.content.ComponentName;
import android.content.Context;
@@ -26,6 +27,7 @@ import android.content.pm.ServiceInfo;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.content.res.XmlResourceParser;
import android.media.tv.flags.Flags;
import android.os.Parcel;
import android.os.Parcelable;
import android.util.AttributeSet;
@@ -42,8 +44,8 @@ import java.util.List;

/**
 * This class is used to specify meta information of a TV AD service.
 * @hide
 */
@FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
public final class TvAdServiceInfo implements Parcelable {
    private static final boolean DEBUG = false;
    private static final String TAG = "TvAdServiceInfo";
@@ -95,6 +97,7 @@ public final class TvAdServiceInfo implements Parcelable {
        in.readStringList(mTypes);
    }

    @NonNull
    public static final Creator<TvAdServiceInfo> CREATOR = new Creator<TvAdServiceInfo>() {
        @Override
        public TvAdServiceInfo createFromParcel(Parcel in) {