Loading services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.java +3 −0 Original line number Diff line number Diff line Loading @@ -256,6 +256,9 @@ final class DeviceDiscoveryAction extends HdmiCecFeatureAction { current.mPortId = getPortId(current.mPhysicalAddress); current.mDeviceType = params[2] & 0xFF; tv().updateCecSwitchInfo(current.mLogicalAddress, current.mDeviceType, current.mPhysicalAddress); increaseProcessedDeviceCount(); checkAndProceedStage(); } Loading services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java +16 −12 Original line number Diff line number Diff line Loading @@ -436,18 +436,9 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice { assertRunOnServiceThread(); int path = HdmiUtils.twoBytesToInt(message.getParams()); int address = message.getSource(); // Build cec switch list with pure CEC switch, AVR. if (address == Constants.ADDR_UNREGISTERED) { int type = message.getParams()[2]; if (type == HdmiDeviceInfo.DEVICE_PURE_CEC_SWITCH) { mCecSwitches.add(path); updateSafeDeviceInfoList(); return true; // Pure switch does not need further processing. Return here. } else if (type == HdmiDeviceInfo.DEVICE_AUDIO_SYSTEM) { mCecSwitches.add(path); } } if (updateCecSwitchInfo(address, type, path)) return true; // Ignore if [Device Discovery Action] is going on. if (hasAction(DeviceDiscoveryAction.class)) { Loading @@ -462,6 +453,19 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice { return true; } boolean updateCecSwitchInfo(int address, int type, int path) { if (address == Constants.ADDR_UNREGISTERED && type == HdmiDeviceInfo.DEVICE_PURE_CEC_SWITCH) { mCecSwitches.add(path); updateSafeDeviceInfoList(); return true; // Pure switch does not need further processing. Return here. } if (type == HdmiDeviceInfo.DEVICE_AUDIO_SYSTEM) { mCecSwitches.add(path); } return false; } void startNewDeviceAction(ActiveSource activeSource) { for (NewDeviceAction action : getActions(NewDeviceAction.class)) { // If there is new device action which has the same logical address and path Loading Loading @@ -1071,7 +1075,7 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice { } private void invokeDeviceEventListener(HdmiDeviceInfo info, int status) { if (!hideDevicesBehindLegacySwitch(info)) { if (info.isSourceType() && !hideDevicesBehindLegacySwitch(info)) { mService.invokeDeviceEventListeners(info, status); } } Loading Loading
services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.java +3 −0 Original line number Diff line number Diff line Loading @@ -256,6 +256,9 @@ final class DeviceDiscoveryAction extends HdmiCecFeatureAction { current.mPortId = getPortId(current.mPhysicalAddress); current.mDeviceType = params[2] & 0xFF; tv().updateCecSwitchInfo(current.mLogicalAddress, current.mDeviceType, current.mPhysicalAddress); increaseProcessedDeviceCount(); checkAndProceedStage(); } Loading
services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java +16 −12 Original line number Diff line number Diff line Loading @@ -436,18 +436,9 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice { assertRunOnServiceThread(); int path = HdmiUtils.twoBytesToInt(message.getParams()); int address = message.getSource(); // Build cec switch list with pure CEC switch, AVR. if (address == Constants.ADDR_UNREGISTERED) { int type = message.getParams()[2]; if (type == HdmiDeviceInfo.DEVICE_PURE_CEC_SWITCH) { mCecSwitches.add(path); updateSafeDeviceInfoList(); return true; // Pure switch does not need further processing. Return here. } else if (type == HdmiDeviceInfo.DEVICE_AUDIO_SYSTEM) { mCecSwitches.add(path); } } if (updateCecSwitchInfo(address, type, path)) return true; // Ignore if [Device Discovery Action] is going on. if (hasAction(DeviceDiscoveryAction.class)) { Loading @@ -462,6 +453,19 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice { return true; } boolean updateCecSwitchInfo(int address, int type, int path) { if (address == Constants.ADDR_UNREGISTERED && type == HdmiDeviceInfo.DEVICE_PURE_CEC_SWITCH) { mCecSwitches.add(path); updateSafeDeviceInfoList(); return true; // Pure switch does not need further processing. Return here. } if (type == HdmiDeviceInfo.DEVICE_AUDIO_SYSTEM) { mCecSwitches.add(path); } return false; } void startNewDeviceAction(ActiveSource activeSource) { for (NewDeviceAction action : getActions(NewDeviceAction.class)) { // If there is new device action which has the same logical address and path Loading Loading @@ -1071,7 +1075,7 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice { } private void invokeDeviceEventListener(HdmiDeviceInfo info, int status) { if (!hideDevicesBehindLegacySwitch(info)) { if (info.isSourceType() && !hideDevicesBehindLegacySwitch(info)) { mService.invokeDeviceEventListeners(info, status); } } Loading