Methods Summary |
---|
private void | finishWithCallback(int returnCode)
if (mCallback != null) {
try {
mCallback.onComplete(returnCode);
} catch (RemoteException e) {
Slog.e(TAG, "Failed to invoke callback.", e);
}
}
finish();
|
private void | handleReportAudioStatus(HdmiCecMessage cmd)
byte[] params = cmd.getParams();
boolean mute = (params[0] & 0x80) == 0x80;
int volume = params[0] & 0x7F;
tv().setAudioStatus(mute, volume);
if (!(tv().isSystemAudioActivated() ^ mute)) {
// Toggle AVR's mute status to match with the system audio status.
sendUserControlPressedAndReleased(mAvrAddress, HdmiCecKeycode.CEC_KEYCODE_MUTE);
}
finishWithCallback(HdmiControlManager.RESULT_SUCCESS);
|
private void | handleSendGiveAudioStatusFailure()
// Inform to all application that the audio status (volumn, mute) of
// the audio amplifier is unknown.
tv().setAudioStatus(false, Constants.UNKNOWN_VOLUME);
int uiCommand = tv().isSystemAudioActivated()
? HdmiCecKeycode.CEC_KEYCODE_RESTORE_VOLUME_FUNCTION // SystemAudioMode: ON
: HdmiCecKeycode.CEC_KEYCODE_MUTE_FUNCTION; // SystemAudioMode: OFF
sendUserControlPressedAndReleased(mAvrAddress, uiCommand);
// Still return SUCCESS to callback.
finishWithCallback(HdmiControlManager.RESULT_SUCCESS);
|
void | handleTimerEvent(int state)
if (mState != state) {
return;
}
handleSendGiveAudioStatusFailure();
|
boolean | processCommand(HdmiCecMessage cmd)
if (mState != STATE_WAIT_FOR_REPORT_AUDIO_STATUS || mAvrAddress != cmd.getSource()) {
return false;
}
switch (cmd.getOpcode()) {
case Constants.MESSAGE_REPORT_AUDIO_STATUS:
handleReportAudioStatus(cmd);
return true;
}
return false;
|
private void | sendGiveAudioStatus()
sendCommand(HdmiCecMessageBuilder.buildGiveAudioStatus(getSourceAddress(), mAvrAddress),
new SendMessageCallback() {
@Override
public void onSendCompleted(int error) {
if (error != Constants.SEND_RESULT_SUCCESS) {
handleSendGiveAudioStatusFailure();
}
}
});
|
boolean | start()
mState = STATE_WAIT_FOR_REPORT_AUDIO_STATUS;
addTimer(mState, HdmiConfig.TIMEOUT_MS);
sendGiveAudioStatus();
return true;
|