/**@class android.hardware.hdmi.HdmiTvClient @extends android.hardware.hdmi.HdmiClient HdmiTvClient represents HDMI-CEC logical device of type TV in the Android system which acts as TV/Display. <p>HdmiTvClient provides methods that manage, interact with other devices on the CEC bus. @hide */ var HdmiTvClient = { /** Size of MHL register for vendor command */ VENDOR_DATA_SIZE : "16", /** */ getDeviceType : function( ) {}, /**Selects a CEC logical device to be a new active source. @param {Number} logicalAddress logical address of the device to select @param {Object {HdmiTvClient.SelectCallback}} callback callback to get the result with @throws {@link IllegalArgumentException} if the {@code callback} is null */ deviceSelect : function( ) {}, /**Selects a HDMI port to be a new route path. @param {Number} portId HDMI port to select @param {Object {HdmiTvClient.SelectCallback}} callback callback to get the result with @throws {@link IllegalArgumentException} if the {@code callback} is null */ portSelect : function( ) {}, /**Sets the listener used to get informed of the input change event. @param {Object {HdmiTvClient.InputChangeListener}} listener listener object */ setInputChangeListener : function( ) {}, /**Returns all the CEC devices connected to TV. @return {Object {java.util.List}} list of {@link HdmiDeviceInfo} for connected CEC devices. Empty list is returned if there is none. */ getDeviceList : function( ) {}, /**Sets system audio mode. @param {Boolean} enabled set to {@code true} to enable the mode; otherwise {@code false} @param {Object {HdmiTvClient.SelectCallback}} callback callback to get the result with @throws {@link IllegalArgumentException} if the {@code callback} is null */ setSystemAudioMode : function( ) {}, /**Sets system audio volume. @param {Number} oldIndex current volume index @param {Number} newIndex volume index to be set @param {Number} maxIndex maximum volume index */ setSystemAudioVolume : function( ) {}, /**Sets system audio mute status. @param {Boolean} mute {@code true} if muted; otherwise, {@code false} */ setSystemAudioMute : function( ) {}, /**Sets record listener. @param {Object {HdmiRecordListener}} listener */ setRecordListener : function( ) {}, /**Sends a <Standby> command to other device. @param {Number} deviceId device id to send the command to */ sendStandby : function( ) {}, /**Starts one touch recording with the given recorder address and recorder source. <p> Usage <pre> HdmiTvClient tvClient = ....; // for own source. OwnSource ownSource = HdmiRecordSources.ofOwnSource(); tvClient.startOneTouchRecord(recorderAddress, ownSource); </pre> */ startOneTouchRecord : function( ) {}, /**Stops one touch record. @param {Number} recorderAddress recorder address where recoding will be stopped */ stopOneTouchRecord : function( ) {}, /**Starts timer recording with the given recoder address and recorder source. <p> Usage <pre> HdmiTvClient tvClient = ....; // create timer info TimerInfo timerInfo = HdmiTimerRecourdSources.timerInfoOf(...); // for digital source. DigitalServiceSource recordSource = HdmiRecordSources.ofDigitalService(...); // create timer recording source. TimerRecordSource source = HdmiTimerRecourdSources.ofDigitalSource(timerInfo, recordSource); tvClient.startTimerRecording(recorderAddress, source); </pre> @param {Number} recorderAddress target recorder address @param {Number} sourceType type of record source. It should be one of {@link HdmiControlManager#TIMER_RECORDING_TYPE_DIGITAL}, {@link HdmiControlManager#TIMER_RECORDING_TYPE_ANALOGUE}, {@link HdmiControlManager#TIMER_RECORDING_TYPE_EXTERNAL}. @param {Object {HdmiTimerRecordSources.TimerRecordSource}} source record source to be used */ startTimerRecording : function( ) {}, /**Clears timer recording with the given recorder address and recording source. For more details, please refer {@link #startandroid.hardware.hdmi.HdmiTimerRecordSources.TimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource)}. */ clearTimerRecording : function( ) {}, /**Sets {@link android.hardware.hdmi.HdmiTvClient.HdmiMhlVendorCommandListener} to get incoming MHL vendor command. @param {Object {HdmiTvClient.HdmiMhlVendorCommandListener}} listener to receive incoming MHL vendor command */ setHdmiMhlVendorCommandListener : function( ) {}, /**Sends MHL vendor command to the device connected to a port of the given portId. @param {Number} portId id of port to send MHL vendor command @param {Number} offset offset in the in given data @param {Number} length length of data. offset + length should be bound to length of data. @param {Object {byte[]}} data container for vendor command data. It should be 16 bytes. @throws IllegalArgumentException if the given parameters are invalid */ sendMhlVendorCommand : function( ) {}, };