am 3f923474: Merge "CEC: Add CEC device upon receiving <Report Physical Address>" into lmp-mr1-dev

* commit '3f923474248e24706e7977a7512b0a35cff835a7':
  CEC: Add CEC device upon receiving <Report Physical Address>
This commit is contained in:
Jinsuk Kim
2015-01-29 22:25:57 +00:00
committed by Android Git Automerger
2 changed files with 13 additions and 1 deletions

View File

@@ -581,6 +581,12 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
if (!isInDeviceList(address, 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);
return true;
}
@@ -1496,7 +1502,7 @@ final class HdmiCecLocalDeviceTv extends HdmiCecLocalDevice {
* @return true if exist; otherwise false
*/
@ServiceThreadOnly
private boolean isInDeviceList(int logicalAddress, int physicalAddress) {
boolean isInDeviceList(int logicalAddress, int physicalAddress) {
assertRunOnServiceThread();
HdmiDeviceInfo device = getCecDeviceInfo(logicalAddress);
if (device == null) {

View File

@@ -163,6 +163,12 @@ final class NewDeviceAction extends HdmiCecFeatureAction {
}
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) {
mDisplayName = HdmiUtils.getDefaultDeviceName(mDeviceLogicalAddress);
}