Assign local device portId 0 am: c8adf1f70e am: cc03484e9d

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2002570

Change-Id: I833116e82eb8e2ff729718bfede8bc4d36558bdc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Nathalie Le Clair
2022-04-04 16:41:07 +00:00
committed by Automerger Merge Worker
2 changed files with 21 additions and 2 deletions

View File

@@ -865,10 +865,13 @@ public class HdmiCecNetwork {
* on the current device. * on the current device.
*/ */
int physicalAddressToPortId(int path) { int physicalAddressToPortId(int path) {
int physicalAddress = getPhysicalAddress();
if (path == physicalAddress) {
// The local device isn't connected to any port; assign portId 0
return Constants.CEC_SWITCH_HOME;
}
int mask = 0xF000; int mask = 0xF000;
int finalMask = 0xF000; int finalMask = 0xF000;
int physicalAddress;
physicalAddress = getPhysicalAddress();
int maskedAddress = physicalAddress; int maskedAddress = physicalAddress;
while (maskedAddress != 0) { while (maskedAddress != 0) {

View File

@@ -141,6 +141,22 @@ public class HdmiCecNetworkTest {
Constants.INVALID_PORT_ID); Constants.INVALID_PORT_ID);
} }
@Test
public void physicalAddressToPort_localDevice_weAreSourceDevice() {
mNativeWrapper.setPhysicalAddress(0x2000);
mHdmiCecNetwork.initPortInfo();
assertThat(mHdmiCecNetwork.physicalAddressToPortId(0x2000))
.isEqualTo(Constants.CEC_SWITCH_HOME);
}
@Test
public void physicalAddressToPort_localDevice_weAreTv() {
mNativeWrapper.setPhysicalAddress(0x0000);
mHdmiCecNetwork.initPortInfo();
assertThat(mHdmiCecNetwork.physicalAddressToPortId(0x0000))
.isEqualTo(Constants.CEC_SWITCH_HOME);
}
@Test @Test
public void localDevices_verifyOne_tv() { public void localDevices_verifyOne_tv() {
mHdmiCecNetwork.clearLocalDevices(); mHdmiCecNetwork.clearLocalDevices();