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

Commit 72b8315b authored by Shubang Lu's avatar Shubang Lu
Browse files

Add Context constant for TV Ad service

Bug: 303506816
Test: atest
Change-Id: I4dd8d77418963cb4bc652dab422f56462ca416fd
parent 1ee8ad31
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -10610,6 +10610,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";
@@ -27299,6 +27300,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