Assign local device portId 0 am: c8adf1f70e

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

Change-Id: I122a38f05bbb8f1ad9881a601747a1bc851bce36
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:13:09 +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.
*/
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 finalMask = 0xF000;
int physicalAddress;
physicalAddress = getPhysicalAddress();
int maskedAddress = physicalAddress;
while (maskedAddress != 0) {

View File

@@ -141,6 +141,22 @@ public class HdmiCecNetworkTest {
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
public void localDevices_verifyOne_tv() {
mHdmiCecNetwork.clearLocalDevices();