From 5bf93f9378f1b13d0cdc15e5e304254011278700 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20Col=C8=9Ba?= Date: Wed, 6 Oct 2021 08:33:27 +0000 Subject: [PATCH] HDMICEC: Make HdmiCecControllerTest to run with any DUT LA Fix failing tests when the DUT has a LA different than 4. Test: atest HdmiCecControllerTest Bug: 202248470 Change-Id: I3755d74340cedb549486c8b82429f4d9ab1b75ac --- .../server/hdmi/HdmiCecControllerTest.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecControllerTest.java b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecControllerTest.java index bd6e46d9ee698..2dcc449e36a56 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecControllerTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecControllerTest.java @@ -85,6 +85,7 @@ public class HdmiCecControllerTest { private HdmiCecController mHdmiCecController; private int mCecVersion = HdmiControlManager.HDMI_CEC_VERSION_1_4_B; private int mLogicalAddress = 16; + private int mPlaybackLogicalAddress; private AllocateAddressCallback mCallback = new AllocateAddressCallback() { @Override @@ -121,7 +122,6 @@ public class HdmiCecControllerTest { HdmiCecLocalDevicePlayback playbackDevice = new HdmiCecLocalDevicePlayback(mHdmiControlServiceSpy); playbackDevice.init(); - ArrayList localDevices = new ArrayList<>(); localDevices.add(playbackDevice); @@ -129,7 +129,11 @@ public class HdmiCecControllerTest { mHdmiControlServiceSpy.allocateLogicalAddress(localDevices, HdmiControlService.INITIATED_BY_ENABLE_CEC); mHdmiControlServiceSpy.onBootPhase(SystemService.PHASE_SYSTEM_SERVICES_READY); + mTestLooper.dispatchAll(); + synchronized (playbackDevice.mLock) { + mPlaybackLogicalAddress = playbackDevice.getDeviceInfo().getLogicalAddress(); + } mTestLooper.dispatchAll(); } @@ -374,7 +378,7 @@ public class HdmiCecControllerTest { doReturn(HANDLED).when(mHdmiControlServiceSpy).handleCecCommand(any()); HdmiCecMessage receivedMessage = HdmiCecMessageBuilder.buildStandby( - ADDR_TV, ADDR_PLAYBACK_1); + ADDR_TV, mPlaybackLogicalAddress); mNativeWrapper.onCecMessage(receivedMessage); mTestLooper.dispatchAll(); @@ -391,13 +395,13 @@ public class HdmiCecControllerTest { doReturn(NOT_HANDLED).when(mHdmiControlServiceSpy).handleCecCommand(any()); HdmiCecMessage receivedMessage = HdmiCecMessageBuilder.buildStandby( - ADDR_TV, ADDR_PLAYBACK_1); + ADDR_TV, mPlaybackLogicalAddress); mNativeWrapper.onCecMessage(receivedMessage); mTestLooper.dispatchAll(); HdmiCecMessage featureAbort = HdmiCecMessageBuilder.buildFeatureAbortCommand( - DEVICE_PLAYBACK, DEVICE_TV, MESSAGE_STANDBY, ABORT_UNRECOGNIZED_OPCODE); + mPlaybackLogicalAddress, DEVICE_TV, MESSAGE_STANDBY, ABORT_UNRECOGNIZED_OPCODE); assertThat(mNativeWrapper.getResultMessages()).contains(featureAbort); } @@ -408,13 +412,13 @@ public class HdmiCecControllerTest { doReturn(ABORT_REFUSED).when(mHdmiControlServiceSpy).handleCecCommand(any()); HdmiCecMessage receivedMessage = HdmiCecMessageBuilder.buildStandby( - ADDR_TV, ADDR_PLAYBACK_1); + ADDR_TV, mPlaybackLogicalAddress); mNativeWrapper.onCecMessage(receivedMessage); mTestLooper.dispatchAll(); HdmiCecMessage featureAbort = HdmiCecMessageBuilder.buildFeatureAbortCommand( - DEVICE_PLAYBACK, DEVICE_TV, MESSAGE_STANDBY, ABORT_REFUSED); + mPlaybackLogicalAddress, DEVICE_TV, MESSAGE_STANDBY, ABORT_REFUSED); assertThat(mNativeWrapper.getResultMessages()).contains(featureAbort); } }