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

Commit 9baee02a authored by Sherry Huang's avatar Sherry Huang
Browse files

TIS: Entry Point for Standardarized TIS Extension APIs

This entry point introduces a standardized list of available interfaces,
providing information to vendors for standardized TIS Extension APIs.
It also includes functions that allow clients/OEMs to get available
interface names, register implmeneted IBinder object to TIF and
retrieve IBinder when needed.

Bug: b/330366987
Flag: android.media.tv.flags.tif_extension_standardization
Test: atest TvInputManagerTest
Change-Id: Ic0df93c866cd1b0dc75ba5dd9bf54c17d86513de
parent d73e3332
Loading
Loading
Loading
Loading
+20 −2
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package android.media.tv;

import static android.media.tv.flags.Flags.tifExtensionStandardization;

import android.annotation.FlaggedApi;
import android.annotation.FloatRange;
import android.annotation.IntDef;
@@ -159,6 +161,11 @@ public abstract class TvInputService extends Service {
            new RemoteCallbackList<>();

    private TvInputManager mTvInputManager;
    /**
     * @hide
     */
    protected TvInputServiceExtensionManager mTvInputServiceExtensionManager =
            new TvInputServiceExtensionManager();

    @Override
    public final IBinder onBind(Intent intent) {
@@ -212,11 +219,22 @@ public abstract class TvInputService extends Service {

            @Override
            public List<String> getAvailableExtensionInterfaceNames() {
                return TvInputService.this.getAvailableExtensionInterfaceNames();
                List<String> extensionNames =
                        TvInputService.this.getAvailableExtensionInterfaceNames();
                if (tifExtensionStandardization()) {
                    extensionNames.addAll(
                            TvInputServiceExtensionManager.getStandardExtensionInterfaceNames());
                }
                return extensionNames;
            }

            @Override
            public IBinder getExtensionInterface(String name) {
                if (tifExtensionStandardization() && name != null) {
                    if (TvInputServiceExtensionManager.checkIsStandardizedInterfaces(name)) {
                        return mTvInputServiceExtensionManager.getExtensionIBinder(name);
                    }
                }
                return TvInputService.this.getExtensionInterface(name);
            }

+614 −0

File added.

Preview size limit exceeded, changes collapsed.