Handle <Feature Abort> after <System Audio Mode Request>.
- Fix some wrong return values. Bug: 15841647 Change-Id: Ia4596e87204196b48429d55da4945f84de51a07b
This commit is contained in:
@@ -540,7 +540,7 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
||||
assertRunOnServiceThread();
|
||||
HdmiCecDeviceInfo avr = getAvrDeviceInfo();
|
||||
if (avr == null) {
|
||||
invokeCallback(callback, HdmiControlManager.RESULT_SOURCE_NOT_AVAILABLE);
|
||||
invokeCallback(callback, HdmiControlManager.RESULT_TARGET_NOT_AVAILABLE);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ abstract class SystemAudioAction extends FeatureAction {
|
||||
addTimer(mState, mTargetAudioStatus ? ON_TIMEOUT_MS : OFF_TIMEOUT_MS);
|
||||
} else {
|
||||
setSystemAudioMode(false);
|
||||
finishWithCallback(HdmiControlManager.RESULT_EXCEPTION);
|
||||
finishWithCallback(HdmiControlManager.RESULT_COMMUNICATION_FAILED);
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -102,7 +102,12 @@ abstract class SystemAudioAction extends FeatureAction {
|
||||
final boolean processCommand(HdmiCecMessage cmd) {
|
||||
switch (mState) {
|
||||
case STATE_WAIT_FOR_SET_SYSTEM_AUDIO_MODE:
|
||||
// TODO: Handle <FeatureAbort> of <SystemAudioModeRequest>
|
||||
if (cmd.getOpcode() == Constants.MESSAGE_FEATURE_ABORT
|
||||
&& cmd.getParams()[0] == Constants.MESSAGE_SYSTEM_AUDIO_MODE_REQUEST) {
|
||||
setSystemAudioMode(false);
|
||||
finishWithCallback(HdmiControlManager.RESULT_EXCEPTION);
|
||||
return true;
|
||||
}
|
||||
if (cmd.getOpcode() != Constants.MESSAGE_SET_SYSTEM_AUDIO_MODE
|
||||
|| !HdmiUtils.checkCommandSource(cmd, mAvrLogicalAddress, TAG)) {
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user