diff options
| author | 2022-04-04 16:13:09 +0000 | |
|---|---|---|
| committer | 2022-04-04 16:13:09 +0000 | |
| commit | cc03484e9d5bf6dad4f8196fc914bdffcc0f99ce (patch) | |
| tree | a22761f139b57bd8d41313e3eb3c6b7a8b2092e3 | |
| parent | 9ae5381050931c91f8a9b4907c8cc3fc52acd481 (diff) | |
| parent | c8adf1f70e4a3ea9236fa30e156e03bfdf4a71db (diff) | |
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>
| -rw-r--r-- | services/core/java/com/android/server/hdmi/HdmiCecNetwork.java | 7 | ||||
| -rw-r--r-- | services/tests/servicestests/src/com/android/server/hdmi/HdmiCecNetworkTest.java | 16 |
2 files changed, 21 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecNetwork.java b/services/core/java/com/android/server/hdmi/HdmiCecNetwork.java index 180bcdbe7546..1234d7fa0832 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecNetwork.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecNetwork.java @@ -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) { diff --git a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecNetworkTest.java b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecNetworkTest.java index c478c2343361..017039053222 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecNetworkTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecNetworkTest.java @@ -142,6 +142,22 @@ public class HdmiCecNetworkTest { } @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(); mHdmiCecNetwork.addLocalDevice(HdmiDeviceInfo.DEVICE_TV, |