Android APIs
public static abstract class

TvInputService.HardwareSession

extends TvInputService.Session
java.lang.Object
   ↳ android.media.tv.TvInputService.Session
     ↳ android.media.tv.TvInputService.HardwareSession

Class Overview

Base class for a TV input session which represents an external device connected to a hardware TV input.

This class is for an input which provides channels for the external set-top box to the application. Once a TV input returns an implementation of this class on onCreateSession(String), the framework will create a separate session for a hardware TV Input (e.g. HDMI 1) and forward the application's surface to the session so that the user can see the screen of the hardware TV Input when she tunes to a channel from this TV input. The implementation of this class is expected to change the channel of the external set-top box via a proprietary protocol when onTune(Uri) is requested by the application.

Note that this class is not for inputs for internal hardware like built-in tuner and HDMI 1.

Summary

Public Constructors
TvInputService.HardwareSession(Context context)
Creates a new HardwareSession.
Public Methods
abstract String getHardwareInputId()
Returns the hardware TV input ID the external device is connected to.
void onHardwareVideoAvailable()
Called when the underlying hardware TV input session calls notifyVideoAvailable().
void onHardwareVideoUnavailable(int reason)
Called when the underlying hardware TV input session calls notifyVideoUnavailable(int).
final boolean onSetSurface(Surface surface)
This method will not be called in TvInputService.HardwareSession.
[Expand]
Inherited Methods
From class android.media.tv.TvInputService.Session
From class java.lang.Object
From interface android.view.KeyEvent.Callback

Public Constructors

public TvInputService.HardwareSession (Context context)

Added in API level 21

Creates a new HardwareSession.

Parameters
context The context of the application

Public Methods

public abstract String getHardwareInputId ()

Added in API level 21

Returns the hardware TV input ID the external device is connected to.

TV input is expected to provide setupActivity so that the application can launch it before using this TV input. The setup activity may let the user select the hardware TV input to which the external device is connected. The ID of the selected one should be stored in the TV input so that it can be returned here.

public void onHardwareVideoAvailable ()

Added in API level 21

Called when the underlying hardware TV input session calls notifyVideoAvailable().

public void onHardwareVideoUnavailable (int reason)

Added in API level 21

Called when the underlying hardware TV input session calls notifyVideoUnavailable(int).

public final boolean onSetSurface (Surface surface)

Added in API level 21

This method will not be called in TvInputService.HardwareSession. Framework will forward the application's surface to the hardware TV input.

Parameters
surface Surface an application passes to this TV input session.
Returns
  • true if the surface was set, false otherwise.