/**@class android.media.tv.TvInputService
@extends android.app.Service
The TvInputService class represents a TV input or source such as HDMI or built-in tuner which
provides pass-through video or broadcast TV programs.
<p>Applications will not normally use this service themselves, instead relying on the standard
interaction provided by {@link android.media.tv.TvView}. Those implementing TV input services should normally do
so by deriving from this class and providing their own session implementation based on
{@link android.media.tv.TvInputService.Session}. All TV input services must require that clients hold the
{@link android.Manifest.permission#BIND_TV_INPUT} in order to interact with the service; if this
permission is not specified in the manifest, the system will refuse to bind to that TV input
service.
*/
var TvInputService = {
/** This is the interface name that a service implementing a TV input should say that it support
-- that is, this is the action it uses for its intent filter. To be supported, the service
must also require the {@link android.Manifest.permission#BIND_TV_INPUT} permission so that
other applications cannot abuse it.
*/
SERVICE_INTERFACE : "android.media.tv.TvInputService",
/** Name under which a TvInputService component publishes information about itself.
This meta-data must reference an XML resource containing an
<code><{@link android.R.styleable#TvInputService tv-input}></code>
tag.
*/
SERVICE_META_DATA : "android.media.tv.input",
/**
*/
onBind : function( ) {},
/**Returns a concrete implementation of {@link android.media.tv.TvInputManager.Session}.
<p>May return {@code null} if this TV input service fails to create a session for some
reason. If TV input represents an external device connected to a hardware TV input,
{@link android.media.tv.TvInputService.HardwareSession} should be returned.
@param {String} inputId The ID of the TV input associated with the session.
*/
onCreateSession : function( ) {},
/**Returns a concrete implementation of {@link android.media.tv.TvInputService.RecordingSession}.
<p>May return {@code null} if this TV input service fails to create a recording session for
some reason.
@param {String} inputId The ID of the TV input associated with the recording session.
*/
onCreateRecordingSession : function( ) {},
/**Returns a new {@link android.media.tv.TvInputInfo} object if this service is responsible for
{@code hardwareInfo}; otherwise, return {@code null}. Override to modify default behavior of
ignoring all hardware input.
@param {Object {TvInputHardwareInfo}} hardwareInfo {@link TvInputHardwareInfo} object just added.
@hide
*/
onHardwareAdded : function( ) {},
/**Returns the input ID for {@code deviceId} if it is handled by this service;
otherwise, return {@code null}. Override to modify default behavior of ignoring all hardware
input.
@param {Object {TvInputHardwareInfo}} hardwareInfo {@link TvInputHardwareInfo} object just removed.
@hide
*/
onHardwareRemoved : function( ) {},
/**Returns a new {@link android.media.tv.TvInputInfo} object if this service is responsible for
{@code deviceInfo}; otherwise, return {@code null}. Override to modify default behavior of
ignoring all HDMI logical input device.
@param {Object {HdmiDeviceInfo}} deviceInfo {@link HdmiDeviceInfo} object just added.
@hide
*/
onHdmiDeviceAdded : function( ) {},
/**Returns the input ID for {@code deviceInfo} if it is handled by this service; otherwise,
return {@code null}. Override to modify default behavior of ignoring all HDMI logical input
device.
@param {Object {HdmiDeviceInfo}} deviceInfo {@link HdmiDeviceInfo} object just removed.
@hide
*/
onHdmiDeviceRemoved : function( ) {},
/**
@hide
*/
isNavigationKey : function( ) {},
};