diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java index 9eedc4e0f9ee8..f47c4b2c24d9e 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java @@ -682,7 +682,6 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice { @ServiceThreadOnly private void launchDeviceDiscovery() { assertRunOnServiceThread(); - clearDeviceInfoList(); DeviceDiscoveryAction action = new DeviceDiscoveryAction(this, new DeviceDiscoveryCallback() { @Override @@ -691,13 +690,6 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice { mService.getHdmiCecNetwork().addCecDevice(info); } - // Since we removed all devices when it starts and - // device discovery action does not poll local devices, - // we should put device info of local device manually here - for (HdmiCecLocalDevice device : mService.getAllCecLocalDevices()) { - mService.getHdmiCecNetwork().addCecDevice(device.getDeviceInfo()); - } - mSelectRequestBuffer.process(); resetSelectRequestBuffer(); diff --git a/services/core/java/com/android/server/hdmi/HdmiControlService.java b/services/core/java/com/android/server/hdmi/HdmiControlService.java index 805ff6611c293..75fe63a662065 100644 --- a/services/core/java/com/android/server/hdmi/HdmiControlService.java +++ b/services/core/java/com/android/server/hdmi/HdmiControlService.java @@ -1267,6 +1267,7 @@ public class HdmiControlService extends SystemService { // It's now safe to flush existing local devices from mCecController since they were // already moved to 'localDevices'. clearCecLocalDevices(); + mHdmiCecNetwork.clearDeviceList(); allocateLogicalAddress(localDevices, initiatedBy); } @@ -1303,6 +1304,7 @@ public class HdmiControlService extends SystemService { HdmiControlManager.POWER_STATUS_ON, getCecVersion()); localDevice.setDeviceInfo(deviceInfo); mHdmiCecNetwork.addLocalDevice(deviceType, localDevice); + mHdmiCecNetwork.addCecDevice(localDevice.getDeviceInfo()); mCecController.addLogicalAddress(logicalAddress); allocatedDevices.add(localDevice); }