Merge "CEC: Add CEC device upon receiving <Report Physical Address>" into lmp-mr1-dev
This commit is contained in:
@@ -581,6 +581,12 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
|||||||
if (!isInDeviceList(address, path)) {
|
if (!isInDeviceList(address, path)) {
|
||||||
handleNewDeviceAtTheTailOfActivePath(path);
|
handleNewDeviceAtTheTailOfActivePath(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add the device ahead with default information to handle <Active Source>
|
||||||
|
// promptly, rather than waiting till the new device action is finished.
|
||||||
|
HdmiDeviceInfo deviceInfo = new HdmiDeviceInfo(address, path, getPortId(path), type,
|
||||||
|
Constants.UNKNOWN_VENDOR_ID, HdmiUtils.getDefaultDeviceName(address));
|
||||||
|
addCecDevice(deviceInfo);
|
||||||
startNewDeviceAction(ActiveSource.of(address, path), type);
|
startNewDeviceAction(ActiveSource.of(address, path), type);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -1496,7 +1502,7 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
|
|||||||
* @return true if exist; otherwise false
|
* @return true if exist; otherwise false
|
||||||
*/
|
*/
|
||||||
@ServiceThreadOnly
|
@ServiceThreadOnly
|
||||||
private boolean isInDeviceList(int logicalAddress, int physicalAddress) {
|
boolean isInDeviceList(int logicalAddress, int physicalAddress) {
|
||||||
assertRunOnServiceThread();
|
assertRunOnServiceThread();
|
||||||
HdmiDeviceInfo device = getCecDeviceInfo(logicalAddress);
|
HdmiDeviceInfo device = getCecDeviceInfo(logicalAddress);
|
||||||
if (device == null) {
|
if (device == null) {
|
||||||
|
|||||||
@@ -163,6 +163,12 @@ final class NewDeviceAction extends HdmiCecFeatureAction {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void addDeviceInfo() {
|
private void addDeviceInfo() {
|
||||||
|
// The device should be in the device list with default information.
|
||||||
|
if (!tv().isInDeviceList(mDeviceLogicalAddress, mDevicePhysicalAddress)) {
|
||||||
|
Slog.w(TAG, String.format("Device not found (%02x, %04x)",
|
||||||
|
mDeviceLogicalAddress, mDevicePhysicalAddress));
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (mDisplayName == null) {
|
if (mDisplayName == null) {
|
||||||
mDisplayName = HdmiUtils.getDefaultDeviceName(mDeviceLogicalAddress);
|
mDisplayName = HdmiUtils.getDefaultDeviceName(mDeviceLogicalAddress);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user