/**@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>&lt;{@link android.R.styleable#TvInputService tv-input}&gt;</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(  ) {},


};