Loading services/core/java/com/android/server/hdmi/ArcInitiationActionFromAvr.java +1 −25 Original line number Diff line number Diff line Loading @@ -27,9 +27,6 @@ public class ArcInitiationActionFromAvr extends HdmiCecFeatureAction { // the required maximum response time specified in CEC 9.2 private static final int TIMEOUT_MS = 1000; private static final int MAX_RETRY_COUNT = 5; private int mSendRequestActiveSourceRetryCount = 0; ArcInitiationActionFromAvr(HdmiCecLocalDevice source) { super(source); Loading Loading @@ -64,12 +61,7 @@ public class ArcInitiationActionFromAvr extends HdmiCecFeatureAction { return true; case Constants.MESSAGE_REPORT_ARC_INITIATED: mState = STATE_ARC_INITIATED; if (audioSystem().getActiveSource().physicalAddress != getSourcePath() && audioSystem().isSystemAudioActivated()) { sendRequestActiveSource(); } else { finish(); } return true; } return false; Loading Loading @@ -103,20 +95,4 @@ public class ArcInitiationActionFromAvr extends HdmiCecFeatureAction { audioSystem().setArcStatus(false); finish(); } protected void sendRequestActiveSource() { sendCommand(HdmiCecMessageBuilder.buildRequestActiveSource(getSourceAddress()), result -> { if (result != SendMessageResult.SUCCESS) { if (mSendRequestActiveSourceRetryCount < MAX_RETRY_COUNT) { mSendRequestActiveSourceRetryCount++; sendRequestActiveSource(); } else { finish(); } } else { finish(); } }); } } services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java +9 −0 Original line number Diff line number Diff line Loading @@ -786,6 +786,15 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource { mService.sendCecCommand( HdmiCecMessageBuilder.buildSetSystemAudioMode( mAddress, Constants.ADDR_BROADCAST, systemAudioStatusOn)); if (systemAudioStatusOn) { int sourcePhysicalAddress = HdmiUtils.twoBytesToInt(message.getParams()); if (sourcePhysicalAddress != getActiveSource().physicalAddress) { // If the Active Source recorded by the current device is not synced up with TV, // TODO(amyjojo): update Active Source internally } switchInputOnReceivingNewActivePath(sourcePhysicalAddress); } return true; } Loading Loading
services/core/java/com/android/server/hdmi/ArcInitiationActionFromAvr.java +1 −25 Original line number Diff line number Diff line Loading @@ -27,9 +27,6 @@ public class ArcInitiationActionFromAvr extends HdmiCecFeatureAction { // the required maximum response time specified in CEC 9.2 private static final int TIMEOUT_MS = 1000; private static final int MAX_RETRY_COUNT = 5; private int mSendRequestActiveSourceRetryCount = 0; ArcInitiationActionFromAvr(HdmiCecLocalDevice source) { super(source); Loading Loading @@ -64,12 +61,7 @@ public class ArcInitiationActionFromAvr extends HdmiCecFeatureAction { return true; case Constants.MESSAGE_REPORT_ARC_INITIATED: mState = STATE_ARC_INITIATED; if (audioSystem().getActiveSource().physicalAddress != getSourcePath() && audioSystem().isSystemAudioActivated()) { sendRequestActiveSource(); } else { finish(); } return true; } return false; Loading Loading @@ -103,20 +95,4 @@ public class ArcInitiationActionFromAvr extends HdmiCecFeatureAction { audioSystem().setArcStatus(false); finish(); } protected void sendRequestActiveSource() { sendCommand(HdmiCecMessageBuilder.buildRequestActiveSource(getSourceAddress()), result -> { if (result != SendMessageResult.SUCCESS) { if (mSendRequestActiveSourceRetryCount < MAX_RETRY_COUNT) { mSendRequestActiveSourceRetryCount++; sendRequestActiveSource(); } else { finish(); } } else { finish(); } }); } }
services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java +9 −0 Original line number Diff line number Diff line Loading @@ -786,6 +786,15 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource { mService.sendCecCommand( HdmiCecMessageBuilder.buildSetSystemAudioMode( mAddress, Constants.ADDR_BROADCAST, systemAudioStatusOn)); if (systemAudioStatusOn) { int sourcePhysicalAddress = HdmiUtils.twoBytesToInt(message.getParams()); if (sourcePhysicalAddress != getActiveSource().physicalAddress) { // If the Active Source recorded by the current device is not synced up with TV, // TODO(amyjojo): update Active Source internally } switchInputOnReceivingNewActivePath(sourcePhysicalAddress); } return true; } Loading