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

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

Merge "Add Context constant for TV Ad service" into main

parents cab675c3 72b8315b
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -10613,6 +10613,7 @@ package android.content {
    field public static final String TELEPHONY_SUBSCRIPTION_SERVICE = "telephony_subscription_service";
    field public static final String TEXT_CLASSIFICATION_SERVICE = "textclassification";
    field public static final String TEXT_SERVICES_MANAGER_SERVICE = "textservices";
    field @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public static final String TV_AD_SERVICE = "tv_ad";
    field public static final String TV_INPUT_SERVICE = "tv_input";
    field public static final String TV_INTERACTIVE_APP_SERVICE = "tv_interactive_app";
    field public static final String UI_MODE_SERVICE = "uimode";
@@ -27302,6 +27303,13 @@ package android.media.tv {
}
package android.media.tv.ad {
  @FlaggedApi("android.media.tv.flags.enable_ad_service_fw") public class TvAdManager {
  }
}
package android.media.tv.interactive {
  public final class AppLinkInfo implements android.os.Parcelable {
+14 −0
Original line number Diff line number Diff line
@@ -137,6 +137,8 @@ import android.media.projection.MediaProjectionManager;
import android.media.soundtrigger.SoundTriggerManager;
import android.media.tv.ITvInputManager;
import android.media.tv.TvInputManager;
import android.media.tv.ad.ITvAdManager;
import android.media.tv.ad.TvAdManager;
import android.media.tv.interactive.ITvInteractiveAppManager;
import android.media.tv.interactive.TvInteractiveAppManager;
import android.media.tv.tunerresourcemanager.ITunerResourceManager;
@@ -960,6 +962,18 @@ public final class SystemServiceRegistry {
                return new TvInteractiveAppManager(service, ctx.getUserId());
            }});

        registerService(Context.TV_AD_SERVICE, TvAdManager.class,
                new CachedServiceFetcher<TvAdManager>() {
                    @Override
                    public TvAdManager createService(ContextImpl ctx)
                            throws ServiceNotFoundException {
                        IBinder iBinder =
                                ServiceManager.getServiceOrThrow(Context.TV_AD_SERVICE);
                        ITvAdManager service =
                                ITvAdManager.Stub.asInterface(iBinder);
                        return new TvAdManager(service, ctx.getUserId());
                    }});

        registerService(Context.TV_INPUT_SERVICE, TvInputManager.class,
                new CachedServiceFetcher<TvInputManager>() {
            @Override
+11 −0
Original line number Diff line number Diff line
@@ -5816,6 +5816,17 @@ public abstract class Context {
     */
    public static final String TV_INPUT_SERVICE = "tv_input";

    /**
     * Use with {@link #getSystemService(String)} to retrieve a
     * {@link android.media.tv.ad.TvAdManager} for interacting with TV client-side advertisement
     * services on the device.
     *
     * @see #getSystemService(String)
     * @see android.media.tv.ad.TvAdManager
     */
    @FlaggedApi(android.media.tv.flags.Flags.FLAG_ENABLE_AD_SERVICE_FW)
    public static final String TV_AD_SERVICE = "tv_ad";

    /**
     * Use with {@link #getSystemService(String)} to retrieve a
     * {@link android.media.tv.TunerResourceManager} for interacting with TV
+9 −1
Original line number Diff line number Diff line
@@ -16,6 +16,10 @@

package android.media.tv.ad;

import android.annotation.FlaggedApi;
import android.annotation.SystemService;
import android.content.Context;
import android.media.tv.flags.Flags;
import android.os.IBinder;
import android.os.RemoteException;
import android.util.Log;
@@ -23,14 +27,17 @@ import android.util.Log;
/**
 * Central system API to the overall client-side TV AD architecture, which arbitrates interaction
 * between applications and AD services.
 * @hide
 */
@FlaggedApi(Flags.FLAG_ENABLE_AD_SERVICE_FW)
@SystemService(Context.TV_AD_SERVICE)
public class TvAdManager {
    // TODO: implement more methods and unhide APIs.
    private static final String TAG = "TvAdManager";

    private final ITvAdManager mService;
    private final int mUserId;

    /** @hide */
    public TvAdManager(ITvAdManager service, int userId) {
        mService = service;
        mUserId = userId;
@@ -38,6 +45,7 @@ public class TvAdManager {

    /**
     * The Session provides the per-session functionality of AD service.
     * @hide
     */
    public static final class Session {
        private final IBinder mToken;
+7 −0
Original line number Diff line number Diff line
@@ -6,3 +6,10 @@ flag {
    description: "Constants for standardizing broadcast visibility types."
    bug: "222402395"
}

flag {
    name: "enable_ad_service_fw"
    namespace: "media_tv"
    description: "Enable the TV client-side AD framework."
    bug: "303506816"
}
 No newline at end of file
Loading