[CSAI API] Unhide TvAdServiceInfo and related APIs
Bug: 319733468
Test: atest android.media.tv.ad.cts.TvAdManagerTest
API-Coverage-Bug: 320723228
Change-Id: I68cd3de8f31a1a4b144ec0553383b7b84602dd0b
diff --git a/core/api/current.txt b/core/api/current.txt
index de6addf..b46f008 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -27611,6 +27611,45 @@
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;
}
}
diff --git a/media/java/android/media/tv/ad/TvAdManager.java b/media/java/android/media/tv/ad/TvAdManager.java
index 02c0d75..f373bed 100644
--- a/media/java/android/media/tv/ad/TvAdManager.java
+++ b/media/java/android/media/tv/ad/TvAdManager.java
@@ -437,11 +437,10 @@
}
/**
- * 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 @@
}
/**
- * 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 {
/**
diff --git a/media/java/android/media/tv/ad/TvAdService.java b/media/java/android/media/tv/ad/TvAdService.java
index 4d8f5c8b..666dea2 100644
--- a/media/java/android/media/tv/ad/TvAdService.java
+++ b/media/java/android/media/tv/ad/TvAdService.java
@@ -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.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 @@
/**
* 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 @@
* Name under which a TvAdService component publishes information about itself. This meta-data
* must reference an XML resource containing an
* <code><{@link android.R.styleable#TvAdService tv-ad-service}></code> tag.
- * @hide
*/
public static final String SERVICE_META_DATA = "android.media.tv.ad.service";
@@ -92,7 +93,7 @@
@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 @@
* @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 @@
}
@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 @@
* @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 @@
* @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) {
}
diff --git a/media/java/android/media/tv/ad/TvAdServiceInfo.java b/media/java/android/media/tv/ad/TvAdServiceInfo.java
index 45dc89d..bac14e7 100644
--- a/media/java/android/media/tv/ad/TvAdServiceInfo.java
+++ b/media/java/android/media/tv/ad/TvAdServiceInfo.java
@@ -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.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 @@
/**
* 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 @@
in.readStringList(mTypes);
}
+ @NonNull
public static final Creator<TvAdServiceInfo> CREATOR = new Creator<TvAdServiceInfo>() {
@Override
public TvAdServiceInfo createFromParcel(Parcel in) {