TvInteractiveAppView


public class TvInteractiveAppView
extends ViewGroup

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.media.tv.interactive.TvInteractiveAppView


Displays contents of interactive TV applications.

Summary

Nested classes

interface TvInteractiveAppView.OnUnhandledInputEventListener

Interface definition for a callback to be invoked when the unhandled input event is received. 

class TvInteractiveAppView.TvInteractiveAppCallback

Callback used to receive various status updates on the TvInteractiveAppView

Inherited XML attributes

Constants

String BI_INTERACTIVE_APP_KEY_ALIAS

Used to share the KeyStore alias with TvInteractiveAppService.

String BI_INTERACTIVE_APP_KEY_CERTIFICATE

Used to share client Certificate with TvInteractiveAppService.

String BI_INTERACTIVE_APP_KEY_HTTP_ADDITIONAL_HEADERS

Additional HTTP headers to be used by TvInteractiveAppService to load the broadcast-independent interactive application.

String BI_INTERACTIVE_APP_KEY_HTTP_USER_AGENT

HTTP user agent to be used by TvInteractiveAppService for broadcast-independent interactive application.

String BI_INTERACTIVE_APP_KEY_PRIVATE_KEY

Used to share the PrivateKey with TvInteractiveAppService.

String ERROR_KEY_METHOD_NAME

The name of the method where the error happened, if applicable.

Inherited constants

Inherited fields

Public constructors

TvInteractiveAppView(Context context)
TvInteractiveAppView(Context context, AttributeSet attrs)
TvInteractiveAppView(Context context, AttributeSet attrs, int defStyleAttr)

Public methods

void clearCallback()

Clears the callback.

void clearOnUnhandledInputEventListener()

Clears the OnUnhandledInputEventListener.

void createBiInteractiveApp(Uri biIAppUri, Bundle params)

Creates broadcast-independent(BI) interactive application.

void destroyBiInteractiveApp(String biIAppId)

Destroys broadcast-independent(BI) interactive application.

boolean dispatchKeyEvent(KeyEvent event)

Dispatch a key event to the next view on the focus path.

boolean dispatchUnhandledInputEvent(InputEvent event)

Dispatches an unhandled input event to the next receiver.

TvInteractiveAppView.OnUnhandledInputEventListener getOnUnhandledInputEventListener()

Gets the OnUnhandledInputEventListener.

void notifyError(String errMsg, Bundle params)

Notifies the corresponding TvInteractiveAppService when there is an error.

void notifyRecordingScheduled(String recordingId, String requestId)

This is called to notify the corresponding interactive app service when the recording has been scheduled.

void notifyRecordingStarted(String recordingId, String requestId)

Alerts the related TV interactive app service that a recording has been started.

void notifyRecordingStopped(String recordingId)

Alerts the TV interactive app that a recording has been stopped.

void notifyTimeShiftCurrentPositionChanged(String inputId, long timeMs)

Notifies the corresponding TvInteractiveAppService when time shift current position is changed.

void notifyTimeShiftPlaybackParams(PlaybackParams params)

Notifies the corresponding TvInteractiveAppService when a time shift PlaybackParams is set or changed.

void notifyTimeShiftStartPositionChanged(String inputId, long timeMs)

Notifies the corresponding TvInteractiveAppService when time shift start position is changed.

void notifyTimeShiftStatusChanged(String inputId, int status)

Notifies the corresponding TvInteractiveAppService when time shift status is changed.

void notifyTvMessage(int type, Bundle data)

This is called to notify the corresponding interactive app service when a new TV message is received.

void notifyVideoFreezeUpdated(boolean isFrozen)

Alerts the TV Interactive app that the video freeze state has been updated.

void onAttachedToWindow()

This is called when the view is attached to a window.

void onDetachedFromWindow()

This is called when the view is detached from a window.

void onLayout(boolean changed, int left, int top, int right, int bottom)

Called from layout when this view should assign a size and position to each of its children.

void onMeasure(int widthMeasureSpec, int heightMeasureSpec)

Measure the view and its content to determine the measured width and the measured height.

boolean onUnhandledInputEvent(InputEvent event)

Called when an unhandled input event also has not been handled by the user provided callback.

void onVisibilityChanged(View changedView, int visibility)

Called when the visibility of the view or an ancestor of the view has changed.

void prepareInteractiveApp(String iAppServiceId, int type)

Prepares the interactive application runtime environment of corresponding TvInteractiveAppService.

void reset()

Resets this TvInteractiveAppView to release its resources.

void resetInteractiveApp()

Resets the interactive application.

void sendAvailableSpeeds(float[] speeds)

Sends the available supported playback speeds to the TV interactive app bound to this view.

void sendCertificate(String host, int port, SslCertificate cert)

Sends the requested SSL certificate to the TV Interactive App

void sendCurrentChannelLcn(int lcn)

Sends current channel logical channel number (LCN) to related TV interactive app.

void sendCurrentChannelUri(Uri channelUri)

Sends current channel URI to related TV interactive app.

void sendCurrentTvInputId(String inputId)

Sends current TV input ID to related TV interactive app.

void sendCurrentVideoBounds(Rect bounds)

Sends current video bounds to related TV interactive app.

void sendSelectedTrackInfo(List<TvTrackInfo> tracks)

Sends the currently selected track info to the TV Interactive App in response to a TvInteractiveAppCallback.onRequestSelectedTrackInfo(String) request.

void sendSigningResult(String signingId, byte[] result)

Sends signing result to related TV interactive app.

void sendStreamVolume(float volume)

Sends stream volume to related TV interactive app.

void sendTimeShiftMode(int mode)

Sends the current time shift mode to the TV interactive app bound to this view

void sendTrackInfoList(List<TvTrackInfo> tracks)

Sends track info list to related TV interactive app.

void sendTvRecordingInfo(TvRecordingInfo recordingInfo)

Sends the requested TvRecordingInfo.

void sendTvRecordingInfoList(List<TvRecordingInfo> recordingInfoList)

Sends the requested TvRecordingInfo.

void setCallback(Executor executor, TvInteractiveAppView.TvInteractiveAppCallback callback)

Sets the callback to be invoked when an event is dispatched to this TvInteractiveAppView.

void setOnUnhandledInputEventListener(Executor executor, TvInteractiveAppView.OnUnhandledInputEventListener listener)

Sets a listener to be invoked when an input event is not handled by the TV Interactive App.

void setTeletextAppEnabled(boolean enable)

To toggle Digital Teletext Application if there is one in AIT app list.

int setTvView(TvView tvView)

Sets the TvInteractiveAppView to receive events from TIS.

void setZOrderMediaOverlay(boolean isMediaOverlay)

Controls whether the TvInteractiveAppView's surface is placed on top of other regular surface views in the window (but still behind the window itself).

void setZOrderOnTop(boolean onTop)

Controls whether the TvInterActiveAppView's surface is placed on top of its window.

void startInteractiveApp()

Starts the interactive application.

void stopInteractiveApp()

Stops the interactive application.

Inherited methods

Constants

BI_INTERACTIVE_APP_KEY_ALIAS

Added in API level 33
public static final String BI_INTERACTIVE_APP_KEY_ALIAS

Used to share the KeyStore alias with TvInteractiveAppService.

Constant Value: "alias"

BI_INTERACTIVE_APP_KEY_CERTIFICATE

Added in API level 33
public static final String BI_INTERACTIVE_APP_KEY_CERTIFICATE

Used to share client Certificate with TvInteractiveAppService.

Constant Value: "certificate"

BI_INTERACTIVE_APP_KEY_HTTP_ADDITIONAL_HEADERS

Added in API level 33
public static final String BI_INTERACTIVE_APP_KEY_HTTP_ADDITIONAL_HEADERS

Additional HTTP headers to be used by TvInteractiveAppService to load the broadcast-independent interactive application.

Constant Value: "http_additional_headers"

BI_INTERACTIVE_APP_KEY_HTTP_USER_AGENT

Added in API level 33
public static final String BI_INTERACTIVE_APP_KEY_HTTP_USER_AGENT

HTTP user agent to be used by TvInteractiveAppService for broadcast-independent interactive application.

Constant Value: "http_user_agent"

BI_INTERACTIVE_APP_KEY_PRIVATE_KEY

Added in API level 33
public static final String BI_INTERACTIVE_APP_KEY_PRIVATE_KEY

Used to share the PrivateKey with TvInteractiveAppService.

The private key is optional. It is used to encrypt data when necessary.

Constant Value: "private_key"

ERROR_KEY_METHOD_NAME

Added in API level 33
public static final String ERROR_KEY_METHOD_NAME

The name of the method where the error happened, if applicable. For example, if there is an error during signing, the request name is "onRequestSigning".

Constant Value: "method_name"

Public constructors

TvInteractiveAppView

Added in API level 33
public TvInteractiveAppView (Context context)

Parameters
context Context: This value cannot be null.

TvInteractiveAppView

Added in API level 33
public TvInteractiveAppView (Context context, 
                AttributeSet attrs)

Parameters
context Context: This value cannot be null.

attrs AttributeSet: This value may be null.

TvInteractiveAppView

Added in API level 33
public TvInteractiveAppView (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

Parameters
context Context: This value cannot be null.

attrs AttributeSet: This value may be null.

defStyleAttr int

Public methods

clearCallback

Added in API level 33
public void clearCallback ()

Clears the callback.

clearOnUnhandledInputEventListener

Added in API level 33
public void clearOnUnhandledInputEventListener ()

Clears the OnUnhandledInputEventListener.

createBiInteractiveApp

Added in API level 33
public void createBiInteractiveApp (Uri biIAppUri, 
                Bundle params)

Creates broadcast-independent(BI) interactive application.

TvInteractiveAppCallback.onBiInteractiveAppCreated(String, Uri, String) will be called for the result.

Parameters
biIAppUri Uri: URI associated this BI interactive app. This value cannot be null.

params Bundle: optional parameters for broadcast-independent interactive application, such as BI_INTERACTIVE_APP_KEY_CERTIFICATE. This value may be null.

destroyBiInteractiveApp

Added in API level 33
public void destroyBiInteractiveApp (String biIAppId)

Destroys broadcast-independent(BI) interactive application.

Parameters
biIAppId String: the BI interactive app ID from createBiInteractiveApp(android.net.Uri, android.os.Bundle) This value cannot be null.

dispatchKeyEvent

Added in API level 33
public boolean dispatchKeyEvent (KeyEvent event)

Dispatch a key event to the next view on the focus path. This path runs from the top of the view tree down to the currently focused view. If this view has focus, it will dispatch to itself. Otherwise it will dispatch the next node down the focus path. This method also fires any key listeners.

Parameters
event KeyEvent: This value cannot be null.

Returns
boolean True if the event was handled, false otherwise.

dispatchUnhandledInputEvent

Added in API level 33
public boolean dispatchUnhandledInputEvent (InputEvent event)

Dispatches an unhandled input event to the next receiver. It gives the host application a chance to dispatch the unhandled input events.

Parameters
event InputEvent: The input event. This value cannot be null.

Returns
boolean true if the event was handled by the view, false otherwise.

getOnUnhandledInputEventListener

Added in API level 33
public TvInteractiveAppView.OnUnhandledInputEventListener getOnUnhandledInputEventListener ()

Gets the OnUnhandledInputEventListener.

Returns null if the listener is not set or is cleared.

Returns
TvInteractiveAppView.OnUnhandledInputEventListener

notifyError

Added in API level 33
public void notifyError (String errMsg, 
                Bundle params)

Notifies the corresponding TvInteractiveAppService when there is an error.

Parameters
errMsg String: the message of the error. This value cannot be null.

params Bundle: additional parameters of the error. For example, the signingId of TvInteractiveAppView.TvInteractiveAppCallback.onRequestSigning(java.lang.String, java.lang.String, java.lang.String, java.lang.String, byte[]) can be included to identify the related signing request, and the method name "onRequestSigning" can also be added to the params. This value cannot be null.

notifyRecordingScheduled

Added in API level 34
public void notifyRecordingScheduled (String recordingId, 
                String requestId)

This is called to notify the corresponding interactive app service when the recording has been scheduled.

Parameters
recordingId String: The ID assigned to this recording by the app. It can be used to send recording related requests such as TvInteractiveAppService.Session.requestStopRecording(String). This value cannot be null.

requestId String: The ID of the request when TvInteractiveAppService.Session.requestScheduleRecording is called. null if the recording is not triggered by a request. This ID should be created by the TvInteractiveAppService and can be any string.

notifyRecordingStarted

Added in API level 34
public void notifyRecordingStarted (String recordingId, 
                String requestId)

Alerts the related TV interactive app service that a recording has been started.

Parameters
recordingId String: The ID of the recording started. This ID is created and maintained by the TV app and is used to identify the recording in the future. This value cannot be null.

requestId String: The ID of the request when TvInteractiveAppService.Session.requestStartRecording(String, Uri) is called. null if the recording is not triggered by a request. This ID should be created by the TvInteractiveAppService and can be any string.

notifyRecordingStopped

Added in API level 34
public void notifyRecordingStopped (String recordingId)

Alerts the TV interactive app that a recording has been stopped.

Parameters
recordingId String: The ID of the recording stopped. This ID is created and maintained by the TV app when a recording is started. This value cannot be null.

notifyTimeShiftCurrentPositionChanged

Added in API level 34
public void notifyTimeShiftCurrentPositionChanged (String inputId, 
                long timeMs)

Notifies the corresponding TvInteractiveAppService when time shift current position is changed.

Parameters
inputId String: The ID of the input for which the time shift current position has changed. This value cannot be null.

timeMs long: The current position for time shifting, in milliseconds since the epoch.

notifyTimeShiftPlaybackParams

Added in API level 34
public void notifyTimeShiftPlaybackParams (PlaybackParams params)

Notifies the corresponding TvInteractiveAppService when a time shift PlaybackParams is set or changed.

Parameters
params PlaybackParams: The new PlaybackParams that was set or changed. This value cannot be null.

notifyTimeShiftStartPositionChanged

Added in API level 34
public void notifyTimeShiftStartPositionChanged (String inputId, 
                long timeMs)

Notifies the corresponding TvInteractiveAppService when time shift start position is changed.

Parameters
inputId String: The ID of the input for which the time shift start position has changed. This value cannot be null.

timeMs long: The start position for time shifting, in milliseconds since the epoch.

notifyTimeShiftStatusChanged

Added in API level 34
public void notifyTimeShiftStatusChanged (String inputId, 
                int status)

Notifies the corresponding TvInteractiveAppService when time shift status is changed.

Parameters
inputId String: The ID of the input for which the time shift status has changed. This value cannot be null.

status int: The status of which the input has changed to. Should be one of the following. Value is TvInputManager.TIME_SHIFT_STATUS_UNKNOWN, TvInputManager.TIME_SHIFT_STATUS_UNSUPPORTED, TvInputManager.TIME_SHIFT_STATUS_UNAVAILABLE, or TvInputManager.TIME_SHIFT_STATUS_AVAILABLE

notifyTvMessage

Added in API level 34
public void notifyTvMessage (int type, 
                Bundle data)

This is called to notify the corresponding interactive app service when a new TV message is received.

Parameters
type int: The type of message received, such as TvInputManager.TV_MESSAGE_TYPE_WATERMARK This value cannot be null. Value is TvInputManager.TV_MESSAGE_TYPE_WATERMARK, TvInputManager.TV_MESSAGE_TYPE_CLOSED_CAPTION, or TvInputManager.TV_MESSAGE_TYPE_OTHER

data Bundle: The raw data of the message. The bundle keys are: TvInputManager.TV_MESSAGE_KEY_STREAM_ID, TvInputManager.TV_MESSAGE_KEY_GROUP_ID, TvInputManager.TV_MESSAGE_KEY_SUBTYPE, TvInputManager.TV_MESSAGE_KEY_RAW_DATA. See TvInputManager.TV_MESSAGE_KEY_SUBTYPE for more information on how to parse this data. This value cannot be null.

notifyVideoFreezeUpdated

public void notifyVideoFreezeUpdated (boolean isFrozen)

Alerts the TV Interactive app that the video freeze state has been updated. If true, the video is frozen on the last frame while audio playback continues.

Parameters
isFrozen boolean: Whether the video is frozen.

onAttachedToWindow

Added in API level 33
public void onAttachedToWindow ()

This is called when the view is attached to a window. At this point it has a Surface and will start drawing. Note that this function is guaranteed to be called before onDraw(android.graphics.Canvas), however it may be called any time before the first onDraw -- including before or after onMeasure(int, int).
If you override this method you must call through to the superclass implementation.

onDetachedFromWindow

Added in API level 33
public void onDetachedFromWindow ()

This is called when the view is detached from a window. At this point it no longer has a surface for drawing.
If you override this method you must call through to the superclass implementation.

onLayout

Added in API level 33
public void onLayout (boolean changed, 
                int left, 
                int top, 
                int right, 
                int bottom)

Called from layout when this view should assign a size and position to each of its children. Derived classes with children should override this method and call layout on each of their children.

Parameters
changed boolean: This is a new size or position for this view

left int: Left position, relative to parent

top int: Top position, relative to parent

right int: Right position, relative to parent

bottom int: Bottom position, relative to parent

onMeasure

Added in API level 33
public void onMeasure (int widthMeasureSpec, 
                int heightMeasureSpec)

Measure the view and its content to determine the measured width and the measured height. This method is invoked by measure(int, int) and should be overridden by subclasses to provide accurate and efficient measurement of their contents.

CONTRACT: When overriding this method, you must call setMeasuredDimension(int, int) to store the measured width and height of this view. Failure to do so will trigger an IllegalStateException, thrown by measure(int, int). Calling the superclass' onMeasure(int, int) is a valid use.

The base class implementation of measure defaults to the background size, unless a larger size is allowed by the MeasureSpec. Subclasses should override onMeasure(int, int) to provide better measurements of their content.

If this method is overridden, it is the subclass's responsibility to make sure the measured height and width are at least the view's minimum height and width (getSuggestedMinimumHeight() and getSuggestedMinimumWidth()).

Parameters
widthMeasureSpec int: horizontal space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.

heightMeasureSpec int: vertical space requirements as imposed by the parent. The requirements are encoded with View.MeasureSpec.

onUnhandledInputEvent

Added in API level 33
public boolean onUnhandledInputEvent (InputEvent event)

Called when an unhandled input event also has not been handled by the user provided callback. This is the last chance to handle the unhandled input event in the TvInteractiveAppView.

Parameters
event InputEvent: The input event. This value cannot be null.

Returns
boolean If you handled the event, return true. If you want to allow the event to be handled by the next receiver, return false.

onVisibilityChanged

Added in API level 33
public void onVisibilityChanged (View changedView, 
                int visibility)

Called when the visibility of the view or an ancestor of the view has changed.

Parameters
changedView View: This value cannot be null.

visibility int: The new visibility, one of View.VISIBLE, View.INVISIBLE or View.GONE. Value is View.VISIBLE, View.INVISIBLE, or View.GONE

prepareInteractiveApp

Added in API level 33
public void prepareInteractiveApp (String iAppServiceId, 
                int type)

Prepares the interactive application runtime environment of corresponding TvInteractiveAppService.

Parameters
iAppServiceId String: the interactive app service ID, which can be found in TvInteractiveAppServiceInfo.getId(). This value cannot be null.

type int: Value is TvInteractiveAppServiceInfo.INTERACTIVE_APP_TYPE_HBBTV, TvInteractiveAppServiceInfo.INTERACTIVE_APP_TYPE_ATSC, TvInteractiveAppServiceInfo.INTERACTIVE_APP_TYPE_GINGA, TvInteractiveAppServiceInfo.INTERACTIVE_APP_TYPE_TARGETED_AD, or TvInteractiveAppServiceInfo.INTERACTIVE_APP_TYPE_OTHER

reset

Added in API level 33
public void reset ()

Resets this TvInteractiveAppView to release its resources.

It can be reused by call prepareInteractiveApp(java.lang.String, int).

resetInteractiveApp

Added in API level 33
public void resetInteractiveApp ()

Resets the interactive application.

This releases the resources of the corresponding TvInteractiveAppService.Session.

sendAvailableSpeeds

Added in API level 34
public void sendAvailableSpeeds (float[] speeds)

Sends the available supported playback speeds to the TV interactive app bound to this view.

Parameters
speeds float: An ordered array of playback speeds, expressed as values relative to the normal playback speed (1.0), at which the current content can be played as a time-shifted broadcast. This is an empty array if the supported playback speeds are unknown or the video/broadcast is not in time shift mode. If currently in time shift mode, this array will normally include at least the values 1.0 (normal speed) and 0.0 (paused). This value cannot be null.

sendCertificate

public void sendCertificate (String host, 
                int port, 
                SslCertificate cert)

Sends the requested SSL certificate to the TV Interactive App

Parameters
host String: the host name of the SSL authentication server. This value cannot be null.

port int: the port of the SSL authentication server. E.g., 443

cert SslCertificate: the SSL certificate requested This value cannot be null.

sendCurrentChannelLcn

Added in API level 33
public void sendCurrentChannelLcn (int lcn)

Sends current channel logical channel number (LCN) to related TV interactive app.

Parameters
lcn int

sendCurrentChannelUri

Added in API level 33
public void sendCurrentChannelUri (Uri channelUri)

Sends current channel URI to related TV interactive app.

Parameters
channelUri Uri: The current channel URI; null if there is no currently tuned channel.

sendCurrentTvInputId

Added in API level 33
public void sendCurrentTvInputId (String inputId)

Sends current TV input ID to related TV interactive app.

Parameters
inputId String: The current TV input ID whose channel is tuned. null if no channel is tuned.

See also:

sendCurrentVideoBounds

Added in API level 34
public void sendCurrentVideoBounds (Rect bounds)

Sends current video bounds to related TV interactive app.

Parameters
bounds Rect: the rectangle area for rendering the current video. This value cannot be null.

sendSelectedTrackInfo

public void sendSelectedTrackInfo (List<TvTrackInfo> tracks)

Sends the currently selected track info to the TV Interactive App in response to a TvInteractiveAppCallback.onRequestSelectedTrackInfo(String) request.

Parameters
tracks List: list of TvTrackInfo of the currently selected track(s) This value may be null.

sendSigningResult

Added in API level 33
public void sendSigningResult (String signingId, 
                byte[] result)

Sends signing result to related TV interactive app.

This is used when the corresponding server of the broadcast-independent interactive app requires signing during handshaking, and the interactive app service doesn't have the built-in private key. The private key is provided by the content providers and pre-built in the related app, such as TV app.

Parameters
signingId String: the ID to identify the request. It's the same as the corresponding ID in TvInteractiveAppService.Session.requestSigning(String, String, String, byte[]) This value cannot be null.

result byte: the signed result. This value cannot be null.

sendStreamVolume

Added in API level 33
public void sendStreamVolume (float volume)

Sends stream volume to related TV interactive app.

Parameters
volume float: a volume value between 0.0f and 1.0f, inclusive.

sendTimeShiftMode

Added in API level 34
public void sendTimeShiftMode (int mode)

Sends the current time shift mode to the TV interactive app bound to this view

Parameters
mode int: The current time shift mode. The value is one of the following: TvInputManager.TIME_SHIFT_MODE_OFF, TvInputManager.TIME_SHIFT_MODE_LOCAL, TvInputManager.TIME_SHIFT_MODE_NETWORK, TvInputManager.TIME_SHIFT_MODE_AUTO. Value is TvInputManager.TIME_SHIFT_MODE_OFF, TvInputManager.TIME_SHIFT_MODE_LOCAL, TvInputManager.TIME_SHIFT_MODE_NETWORK, or TvInputManager.TIME_SHIFT_MODE_AUTO

sendTrackInfoList

Added in API level 33
public void sendTrackInfoList (List<TvTrackInfo> tracks)

Sends track info list to related TV interactive app.

Parameters
tracks List: This value may be null.

sendTvRecordingInfo

Added in API level 34
public void sendTvRecordingInfo (TvRecordingInfo recordingInfo)

Sends the requested TvRecordingInfo.

Parameters
recordingInfo TvRecordingInfo: The recording info requested. null if no recording found.

sendTvRecordingInfoList

Added in API level 34
public void sendTvRecordingInfoList (List<TvRecordingInfo> recordingInfoList)

Sends the requested TvRecordingInfo.

Parameters
recordingInfoList List: The list of recording info requested. Returns an empty list if no matching recording info found. This value cannot be null.

setCallback

Added in API level 33
public void setCallback (Executor executor, 
                TvInteractiveAppView.TvInteractiveAppCallback callback)

Sets the callback to be invoked when an event is dispatched to this TvInteractiveAppView.

Parameters
executor Executor: This value cannot be null. Callback and listener events are dispatched through this Executor, providing an easy way to control which thread is used. To dispatch events through the main thread of your application, you can use Context.getMainExecutor(). Otherwise, provide an Executor that dispatches to an appropriate thread.

callback TvInteractiveAppView.TvInteractiveAppCallback: the callback to receive events. MUST NOT be null.

See also:

setOnUnhandledInputEventListener

Added in API level 33
public void setOnUnhandledInputEventListener (Executor executor, 
                TvInteractiveAppView.OnUnhandledInputEventListener listener)

Sets a listener to be invoked when an input event is not handled by the TV Interactive App.

Parameters
executor Executor: This value cannot be null. Callback and listener events are dispatched through this Executor, providing an easy way to control which thread is used. To dispatch events through the main thread of your application, you can use Context.getMainExecutor(). Otherwise, provide an Executor that dispatches to an appropriate thread.

listener TvInteractiveAppView.OnUnhandledInputEventListener: The callback to be invoked when the unhandled input event is received. This value cannot be null.

setTeletextAppEnabled

Added in API level 33
public void setTeletextAppEnabled (boolean enable)

To toggle Digital Teletext Application if there is one in AIT app list.

A Teletext Application is a broadcast-related application to display text and basic graphics.

Parameters
enable boolean: true to enable Teletext app; false to disable it.

setTvView

Added in API level 33
public int setTvView (TvView tvView)

Sets the TvInteractiveAppView to receive events from TIS. This method links the session of TvInteractiveAppManager to TvInputManager session, so the TIAS can get the TIS events.

Parameters
tvView TvView: the TvView to be linked to this TvInteractiveAppView via linking of Sessions. This value may be null.

Returns
int The result of the operation.

setZOrderMediaOverlay

public void setZOrderMediaOverlay (boolean isMediaOverlay)

Controls whether the TvInteractiveAppView's surface is placed on top of other regular surface views in the window (but still behind the window itself).

Calling this overrides any previous call to setZOrderOnTop(boolean).

Parameters
isMediaOverlay boolean: true to be on top of another regular surface, false otherwise.

setZOrderOnTop

public void setZOrderOnTop (boolean onTop)

Controls whether the TvInterActiveAppView's surface is placed on top of its window.

Calling this overrides any previous call to setZOrderMediaOverlay(boolean).

Parameters
onTop boolean: true to be on top of its window, false otherwise.

startInteractiveApp

Added in API level 33
public void startInteractiveApp ()

Starts the interactive application.

stopInteractiveApp

Added in API level 33
public void stopInteractiveApp ()

Stops the interactive application.