FileDocCategorySizeDatePackage
HdmiCecMessage.javaAPI DocAndroid 5.1 API10152Thu Mar 12 22:22:42 GMT 2015com.android.server.hdmi

HdmiCecMessage

public final class HdmiCecMessage extends Object
A class to encapsulate HDMI-CEC message used for the devices connected via HDMI cable to communicate with one another. A message is defined by its source and destination address, command (or opcode), and optional parameters.

Fields Summary
public static final byte[]
EMPTY_PARAM
private final int
mSource
private final int
mDestination
private final int
mOpcode
private final byte[]
mParams
Constructors Summary
public HdmiCecMessage(int source, int destination, int opcode, byte[] params)
Constructor.


          
             
        mSource = source;
        mDestination = destination;
        mOpcode = opcode & 0xFF;
        mParams = Arrays.copyOf(params, params.length);
    
Methods Summary
public intgetDestination()
Return the destination address field of the message. It is the logical address of the device to which the message is sent.

return
destination address

        return mDestination;
    
public intgetOpcode()
Return the opcode field of the message. It is the type of the message that tells the destination device what to do.

return
opcode

        return mOpcode;
    
public byte[]getParams()
Return the parameter field of the message. The contents of parameter varies from opcode to opcode, and is used together with opcode to describe the action for the destination device to take.

return
parameter

        return mParams;
    
public intgetSource()
Return the source address field of the message. It is the logical address of the device which generated the message.

return
source address

        return mSource;
    
private static java.lang.StringopcodeToString(int opcode)

        switch (opcode) {
            case Constants.MESSAGE_FEATURE_ABORT:
                return "Feature Abort";
            case Constants.MESSAGE_IMAGE_VIEW_ON:
                return "Image View On";
            case Constants.MESSAGE_TUNER_STEP_INCREMENT:
                return "Tuner Step Increment";
            case Constants.MESSAGE_TUNER_STEP_DECREMENT:
                return "Tuner Step Decrement";
            case Constants.MESSAGE_TUNER_DEVICE_STATUS:
                return "Tuner Device Staus";
            case Constants.MESSAGE_GIVE_TUNER_DEVICE_STATUS:
                return "Give Tuner Device Status";
            case Constants.MESSAGE_RECORD_ON:
                return "Record On";
            case Constants.MESSAGE_RECORD_STATUS:
                return "Record Status";
            case Constants.MESSAGE_RECORD_OFF:
                return "Record Off";
            case Constants.MESSAGE_TEXT_VIEW_ON:
                return "Text View On";
            case Constants.MESSAGE_RECORD_TV_SCREEN:
                return "Record Tv Screen";
            case Constants.MESSAGE_GIVE_DECK_STATUS:
                return "Give Deck Status";
            case Constants.MESSAGE_DECK_STATUS:
                return "Deck Status";
            case Constants.MESSAGE_SET_MENU_LANGUAGE:
                return "Set Menu Language";
            case Constants.MESSAGE_CLEAR_ANALOG_TIMER:
                return "Clear Analog Timer";
            case Constants.MESSAGE_SET_ANALOG_TIMER:
                return "Set Analog Timer";
            case Constants.MESSAGE_TIMER_STATUS:
                return "Timer Status";
            case Constants.MESSAGE_STANDBY:
                return "Standby";
            case Constants.MESSAGE_PLAY:
                return "Play";
            case Constants.MESSAGE_DECK_CONTROL:
                return "Deck Control";
            case Constants.MESSAGE_TIMER_CLEARED_STATUS:
                return "Timer Cleared Status";
            case Constants.MESSAGE_USER_CONTROL_PRESSED:
                return "User Control Pressed";
            case Constants.MESSAGE_USER_CONTROL_RELEASED:
                return "User Control Release";
            case Constants.MESSAGE_GIVE_OSD_NAME:
                return "Give Osd Name";
            case Constants.MESSAGE_SET_OSD_NAME:
                return "Set Osd Name";
            case Constants.MESSAGE_SET_OSD_STRING:
                return "Set Osd String";
            case Constants.MESSAGE_SET_TIMER_PROGRAM_TITLE:
                return "Set Timer Program Title";
            case Constants.MESSAGE_SYSTEM_AUDIO_MODE_REQUEST:
                return "System Audio Mode Request";
            case Constants.MESSAGE_GIVE_AUDIO_STATUS:
                return "Give Audio Status";
            case Constants.MESSAGE_SET_SYSTEM_AUDIO_MODE:
                return "Set System Audio Mode";
            case Constants.MESSAGE_REPORT_AUDIO_STATUS:
                return "Report Audio Status";
            case Constants.MESSAGE_GIVE_SYSTEM_AUDIO_MODE_STATUS:
                return "Give System Audio Mode Status";
            case Constants.MESSAGE_SYSTEM_AUDIO_MODE_STATUS:
                return "System Audio Mode Status";
            case Constants.MESSAGE_ROUTING_CHANGE:
                return "Routing Change";
            case Constants.MESSAGE_ROUTING_INFORMATION:
                return "Routing Information";
            case Constants.MESSAGE_ACTIVE_SOURCE:
                return "Active Source";
            case Constants.MESSAGE_GIVE_PHYSICAL_ADDRESS:
                return "Give Physical Address";
            case Constants.MESSAGE_REPORT_PHYSICAL_ADDRESS:
                return "Report Physical Address";
            case Constants.MESSAGE_REQUEST_ACTIVE_SOURCE:
                return "Request Active Source";
            case Constants.MESSAGE_SET_STREAM_PATH:
                return "Set Stream Path";
            case Constants.MESSAGE_DEVICE_VENDOR_ID:
                return "Device Vendor Id";
            case Constants.MESSAGE_VENDOR_COMMAND:
                return "Vendor Commandn";
            case Constants.MESSAGE_VENDOR_REMOTE_BUTTON_DOWN:
                return "Vendor Remote Button Down";
            case Constants.MESSAGE_VENDOR_REMOTE_BUTTON_UP:
                return "Vendor Remote Button Up";
            case Constants.MESSAGE_GIVE_DEVICE_VENDOR_ID:
                return "Give Device Vendor Id";
            case Constants.MESSAGE_MENU_REQUEST:
                return "Menu REquest";
            case Constants.MESSAGE_MENU_STATUS:
                return "Menu Status";
            case Constants.MESSAGE_GIVE_DEVICE_POWER_STATUS:
                return "Give Device Power Status";
            case Constants.MESSAGE_REPORT_POWER_STATUS:
                return "Report Power Status";
            case Constants.MESSAGE_GET_MENU_LANGUAGE:
                return "Get Menu Language";
            case Constants.MESSAGE_SELECT_ANALOG_SERVICE:
                return "Select Analog Service";
            case Constants.MESSAGE_SELECT_DIGITAL_SERVICE:
                return "Select Digital Service";
            case Constants.MESSAGE_SET_DIGITAL_TIMER:
                return "Set Digital Timer";
            case Constants.MESSAGE_CLEAR_DIGITAL_TIMER:
                return "Clear Digital Timer";
            case Constants.MESSAGE_SET_AUDIO_RATE:
                return "Set Audio Rate";
            case Constants.MESSAGE_INACTIVE_SOURCE:
                return "InActive Source";
            case Constants.MESSAGE_CEC_VERSION:
                return "Cec Version";
            case Constants.MESSAGE_GET_CEC_VERSION:
                return "Get Cec Version";
            case Constants.MESSAGE_VENDOR_COMMAND_WITH_ID:
                return "Vendor Command With Id";
            case Constants.MESSAGE_CLEAR_EXTERNAL_TIMER:
                return "Clear External Timer";
            case Constants.MESSAGE_SET_EXTERNAL_TIMER:
                return "Set External Timer";
            case Constants.MESSAGE_REPORT_SHORT_AUDIO_DESCRIPTOR:
                return "Repot Short Audio Descriptor";
            case Constants.MESSAGE_REQUEST_SHORT_AUDIO_DESCRIPTOR:
                return "Request Short Audio Descriptor";
            case Constants.MESSAGE_INITIATE_ARC:
                return "Initiate ARC";
            case Constants.MESSAGE_REPORT_ARC_INITIATED:
                return "Report ARC Initiated";
            case Constants.MESSAGE_REPORT_ARC_TERMINATED:
                return "Report ARC Terminated";
            case Constants.MESSAGE_REQUEST_ARC_INITIATION:
                return "Request ARC Initiation";
            case Constants.MESSAGE_REQUEST_ARC_TERMINATION:
                return "Request ARC Termination";
            case Constants.MESSAGE_TERMINATE_ARC:
                return "Terminate ARC";
            case Constants.MESSAGE_CDC_MESSAGE:
                return "Cdc Message";
            case Constants.MESSAGE_ABORT:
                return "Abort";
            default:
                return String.format("Opcode: %02X", opcode);
        }
    
public java.lang.StringtoString()

        StringBuffer s = new StringBuffer();
        s.append(String.format("<%s> src: %d, dst: %d",
                opcodeToString(mOpcode), mSource, mDestination));
        if (mParams.length > 0) {
            s.append(", params:");
            for (byte data : mParams) {
                s.append(String.format(" %02X", data));
            }
        }
        return s.toString();