From 9ac2f345769ea0704800a560521685f7cb9edd0b Mon Sep 17 00:00:00 2001 From: Sherry Huang Date: Wed, 15 May 2024 15:33:07 -0700 Subject: HDMI: improve communication between CEC framework and HAL Improve the communication between CEC framework and HAL by reducing the time for requesting device physical address by caching it. Test: regression testing with additional unit test in HdmiCecNetworkTest and cts test. Bug: b/338590628 Change-Id: I67fd7763098ef522bf5239ac05a8699962475611 --- .../core/java/com/android/server/hdmi/HdmiCecNetwork.java | 10 +++++++++- .../java/com/android/server/hdmi/HdmiControlService.java | 2 +- .../com/android/server/hdmi/ActiveSourceActionTest.java | 4 ++-- .../android/server/hdmi/DevicePowerStatusActionTest.java | 4 ++-- .../server/hdmi/DeviceSelectActionFromPlaybackTest.java | 3 ++- .../android/server/hdmi/DeviceSelectActionFromTvTest.java | 2 +- .../src/com/android/server/hdmi/FakeNativeWrapper.java | 10 ++++++++++ .../server/hdmi/HdmiCecLocalDeviceAudioSystemTest.java | 3 +++ .../server/hdmi/HdmiCecLocalDevicePlaybackTest.java | 5 +++-- .../com/android/server/hdmi/HdmiCecLocalDeviceTest.java | 4 +++- .../com/android/server/hdmi/HdmiCecLocalDeviceTvTest.java | 4 ++-- .../src/com/android/server/hdmi/HdmiCecNetworkTest.java | 14 ++++++++++++++ .../server/hdmi/HdmiCecPowerStatusControllerTest.java | 2 +- .../com/android/server/hdmi/OneTouchPlayActionTest.java | 4 ++-- .../android/server/hdmi/PowerStatusMonitorActionTest.java | 4 ++-- .../src/com/android/server/hdmi/RequestSadActionTest.java | 2 +- .../server/hdmi/ResendCecCommandActionPlaybackTest.java | 4 ++-- .../android/server/hdmi/ResendCecCommandActionTvTest.java | 4 ++-- .../com/android/server/hdmi/RoutingControlActionTest.java | 2 +- .../server/hdmi/SystemAudioAutoInitiationActionTest.java | 4 ++-- 20 files changed, 65 insertions(+), 26 deletions(-) diff --git a/services/core/java/com/android/server/hdmi/HdmiCecNetwork.java b/services/core/java/com/android/server/hdmi/HdmiCecNetwork.java index f992a2399c61..88da6fb94754 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecNetwork.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecNetwork.java @@ -100,6 +100,9 @@ public class HdmiCecNetwork { // Map from port ID to HdmiDeviceInfo. private UnmodifiableSparseArray mPortDeviceMap; + // Cached physical address. + private int mPhysicalAddress = Constants.INVALID_PHYSICAL_ADDRESS; + HdmiCecNetwork(HdmiControlService hdmiControlService, HdmiCecController hdmiCecController, HdmiMhlControllerStub hdmiMhlController) { @@ -431,6 +434,8 @@ public class HdmiCecNetwork { // each port. Return empty array if CEC HAL didn't provide the info. if (mHdmiCecController != null) { cecPortInfo = mHdmiCecController.getPortInfos(); + // Invalid cached physical address. + mPhysicalAddress = Constants.INVALID_PHYSICAL_ADDRESS; } if (cecPortInfo == null) { return; @@ -856,7 +861,10 @@ public class HdmiCecNetwork { } public int getPhysicalAddress() { - return mHdmiCecController.getPhysicalAddress(); + if (mPhysicalAddress == Constants.INVALID_PHYSICAL_ADDRESS) { + mPhysicalAddress = mHdmiCecController.getPhysicalAddress(); + } + return mPhysicalAddress; } @ServiceThreadOnly diff --git a/services/core/java/com/android/server/hdmi/HdmiControlService.java b/services/core/java/com/android/server/hdmi/HdmiControlService.java index cca73b5eabf0..dbd1e65e8b0f 100644 --- a/services/core/java/com/android/server/hdmi/HdmiControlService.java +++ b/services/core/java/com/android/server/hdmi/HdmiControlService.java @@ -1567,7 +1567,7 @@ public class HdmiControlService extends SystemService { * Returns physical address of the device. */ int getPhysicalAddress() { - return mCecController.getPhysicalAddress(); + return mHdmiCecNetwork.getPhysicalAddress(); } /** diff --git a/services/tests/servicestests/src/com/android/server/hdmi/ActiveSourceActionTest.java b/services/tests/servicestests/src/com/android/server/hdmi/ActiveSourceActionTest.java index c1ae85252ffc..6d863015231c 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/ActiveSourceActionTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/ActiveSourceActionTest.java @@ -86,6 +86,8 @@ public class ActiveSourceActionTest { mHdmiControlService.setHdmiCecConfig(new FakeHdmiCecConfig(mContextSpy)); mHdmiControlService.setDeviceConfig(new FakeDeviceConfigWrapper()); mNativeWrapper = new FakeNativeWrapper(); + mPhysicalAddress = 0x2000; + mNativeWrapper.setPhysicalAddress(mPhysicalAddress); HdmiCecController hdmiCecController = HdmiCecController.createWithNativeWrapper( this.mHdmiControlService, mNativeWrapper, mHdmiControlService.getAtomWriter()); mHdmiControlService.setCecController(hdmiCecController); @@ -94,8 +96,6 @@ public class ActiveSourceActionTest { mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY); mPowerManager = new FakePowerManagerWrapper(mContextSpy); mHdmiControlService.setPowerManager(mPowerManager); - mPhysicalAddress = 0x2000; - mNativeWrapper.setPhysicalAddress(mPhysicalAddress); mTestLooper.dispatchAll(); } diff --git a/services/tests/servicestests/src/com/android/server/hdmi/DevicePowerStatusActionTest.java b/services/tests/servicestests/src/com/android/server/hdmi/DevicePowerStatusActionTest.java index e669e7c019d6..2296911a4e7e 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/DevicePowerStatusActionTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/DevicePowerStatusActionTest.java @@ -104,6 +104,8 @@ public class DevicePowerStatusActionTest { mHdmiControlService.setHdmiCecConfig(new FakeHdmiCecConfig(mContextSpy)); mHdmiControlService.setDeviceConfig(new FakeDeviceConfigWrapper()); mNativeWrapper = new FakeNativeWrapper(); + mPhysicalAddress = 0x2000; + mNativeWrapper.setPhysicalAddress(mPhysicalAddress); HdmiCecController hdmiCecController = HdmiCecController.createWithNativeWrapper( this.mHdmiControlService, mNativeWrapper, mHdmiControlService.getAtomWriter()); mHdmiControlService.setCecController(hdmiCecController); @@ -112,8 +114,6 @@ public class DevicePowerStatusActionTest { mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY); mPowerManager = new FakePowerManagerWrapper(mContextSpy); mHdmiControlService.setPowerManager(mPowerManager); - mPhysicalAddress = 0x2000; - mNativeWrapper.setPhysicalAddress(mPhysicalAddress); mTestLooper.dispatchAll(); mPlaybackDevice = mHdmiControlService.playback(); mDevicePowerStatusAction = DevicePowerStatusAction.create(mPlaybackDevice, ADDR_TV, diff --git a/services/tests/servicestests/src/com/android/server/hdmi/DeviceSelectActionFromPlaybackTest.java b/services/tests/servicestests/src/com/android/server/hdmi/DeviceSelectActionFromPlaybackTest.java index 29d20a64e439..47cfa4218435 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/DeviceSelectActionFromPlaybackTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/DeviceSelectActionFromPlaybackTest.java @@ -137,6 +137,7 @@ public class DeviceSelectActionFromPlaybackTest { mHdmiControlService.setHdmiCecConfig(new FakeHdmiCecConfig(context)); mHdmiControlService.setDeviceConfig(new FakeDeviceConfigWrapper()); mNativeWrapper = new FakeNativeWrapper(); + mNativeWrapper.setPhysicalAddress(0x0000); mHdmiCecController = HdmiCecController.createWithNativeWrapper( mHdmiControlService, mNativeWrapper, mHdmiControlService.getAtomWriter()); mHdmiControlService.setCecController(mHdmiCecController); @@ -150,7 +151,7 @@ public class DeviceSelectActionFromPlaybackTest { mHdmiControlService.initService(); mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY); - mNativeWrapper.setPhysicalAddress(0x0000); + mPowerManager = new FakePowerManagerWrapper(context); mHdmiControlService.setPowerManager(mPowerManager); mTestLooper.dispatchAll(); diff --git a/services/tests/servicestests/src/com/android/server/hdmi/DeviceSelectActionFromTvTest.java b/services/tests/servicestests/src/com/android/server/hdmi/DeviceSelectActionFromTvTest.java index d32b75bc57da..eb4a628e14e5 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/DeviceSelectActionFromTvTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/DeviceSelectActionFromTvTest.java @@ -146,6 +146,7 @@ public class DeviceSelectActionFromTvTest { mHdmiControlService.setHdmiCecConfig(new FakeHdmiCecConfig(context)); mHdmiControlService.setDeviceConfig(new FakeDeviceConfigWrapper()); mNativeWrapper = new FakeNativeWrapper(); + mNativeWrapper.setPhysicalAddress(0x0000); mHdmiCecController = HdmiCecController.createWithNativeWrapper( mHdmiControlService, mNativeWrapper, mHdmiControlService.getAtomWriter()); mHdmiControlService.setCecController(mHdmiCecController); @@ -168,7 +169,6 @@ public class DeviceSelectActionFromTvTest { mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY); mPowerManager = new FakePowerManagerWrapper(context); mHdmiControlService.setPowerManager(mPowerManager); - mNativeWrapper.setPhysicalAddress(0x0000); mTestLooper.dispatchAll(); mNativeWrapper.clearResultMessages(); mHdmiControlService.getHdmiCecNetwork().addCecDevice(INFO_PLAYBACK_1); diff --git a/services/tests/servicestests/src/com/android/server/hdmi/FakeNativeWrapper.java b/services/tests/servicestests/src/com/android/server/hdmi/FakeNativeWrapper.java index cb19029d246e..bfe435c2b30b 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/FakeNativeWrapper.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/FakeNativeWrapper.java @@ -62,6 +62,7 @@ final class FakeNativeWrapper implements NativeWrapper { private HdmiCecController.HdmiCecCallback mCallback = null; private int mCecVersion = HdmiControlManager.HDMI_CEC_VERSION_2_0; private boolean mIsCecControlEnabled = true; + private boolean mGetPhysicalAddressCalled = false; @Override public String nativeInit() { @@ -96,6 +97,7 @@ final class FakeNativeWrapper implements NativeWrapper { @Override public int nativeGetPhysicalAddress() { + mGetPhysicalAddressCalled = true; return mMyPhysicalAddress; } @@ -161,6 +163,10 @@ final class FakeNativeWrapper implements NativeWrapper { return mIsCecControlEnabled; } + public boolean getPhysicalAddressCalled() { + return mGetPhysicalAddressCalled; + } + public void setCecVersion(@HdmiControlManager.HdmiCecVersion int cecVersion) { mCecVersion = cecVersion; } @@ -200,6 +206,10 @@ final class FakeNativeWrapper implements NativeWrapper { mResultMessages.clear(); } + public void clearGetPhysicalAddressCallHistory() { + mGetPhysicalAddressCalled = false; + } + public void setPollAddressResponse(int logicalAddress, int response) { mPollAddressResponse[logicalAddress] = response; } diff --git a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystemTest.java b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystemTest.java index 5502de8f46e9..02441648a589 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystemTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystemTest.java @@ -472,6 +472,7 @@ public class HdmiCecLocalDeviceAudioSystemTest { HdmiCecMessage message = HdmiCecMessageBuilder.buildRequestArcInitiation(ADDR_TV, ADDR_AUDIO_SYSTEM); mNativeWrapper.setPhysicalAddress(0x1100); + mHdmiControlService.onHotplug(0x1100, true); assertThat(mHdmiCecLocalDeviceAudioSystem.handleRequestArcInitiate(message)) .isEqualTo(Constants.ABORT_NOT_IN_CORRECT_MODE); @@ -482,6 +483,8 @@ public class HdmiCecLocalDeviceAudioSystemTest { HdmiCecMessage message = HdmiCecMessageBuilder.buildRequestArcInitiation(ADDR_TV, ADDR_AUDIO_SYSTEM); mNativeWrapper.setPhysicalAddress(0x1000); + mHdmiControlService.onHotplug(0x1000, true); + mHdmiCecLocalDeviceAudioSystem.removeAction(ArcInitiationActionFromAvr.class); assertThat(mHdmiCecLocalDeviceAudioSystem.handleRequestArcInitiate(message)) diff --git a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDevicePlaybackTest.java b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDevicePlaybackTest.java index 8df7d548e21e..95a7f4b6c80f 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDevicePlaybackTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDevicePlaybackTest.java @@ -167,6 +167,7 @@ public class HdmiCecLocalDevicePlaybackTest { } }; mHdmiCecLocalDevicePlayback.init(); + mPlaybackPhysicalAddress = 0x2000; HdmiPortInfo[] hdmiPortInfos = new HdmiPortInfo[1]; hdmiPortInfos[0] = new HdmiPortInfo.Builder(1, HdmiPortInfo.PORT_OUTPUT, 0x0000) @@ -176,13 +177,12 @@ public class HdmiCecLocalDevicePlaybackTest { .build(); mNativeWrapper.setPortInfo(hdmiPortInfos); mNativeWrapper.setPortConnectionStatus(1, true); + mNativeWrapper.setPhysicalAddress(mPlaybackPhysicalAddress); mHdmiControlService.initService(); mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY); mPowerManager = new FakePowerManagerWrapper(context); mHdmiControlService.setPowerManager(mPowerManager); mHdmiControlService.setPowerManagerInternal(mPowerManagerInternal); - mPlaybackPhysicalAddress = 0x2000; - mNativeWrapper.setPhysicalAddress(mPlaybackPhysicalAddress); mTestLooper.dispatchAll(); mLocalDevices.add(mHdmiCecLocalDevicePlayback); mHdmiControlService.getHdmiCecNetwork().addCecDevice(INFO_TV); @@ -416,6 +416,7 @@ public class HdmiCecLocalDevicePlaybackTest { int newPlaybackPhysicalAddress = 0x2100; int switchPhysicalAddress = 0x2000; mNativeWrapper.setPhysicalAddress(newPlaybackPhysicalAddress); + mHdmiControlService.onHotplug(newPlaybackPhysicalAddress, true); mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC); mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( diff --git a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTest.java b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTest.java index 192be2a4200b..004c6c68781c 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTest.java @@ -181,6 +181,7 @@ public class HdmiCecLocalDeviceTest { mHdmiControlService.setHdmiCecConfig(new FakeHdmiCecConfig(context)); mHdmiControlService.setDeviceConfig(new FakeDeviceConfigWrapper()); mNativeWrapper = new FakeNativeWrapper(); + mNativeWrapper.setPhysicalAddress(0x2000); mHdmiCecController = HdmiCecController.createWithNativeWrapper( mHdmiControlService, mNativeWrapper, mHdmiControlService.getAtomWriter()); mHdmiControlService.setCecController(mHdmiCecController); @@ -199,7 +200,6 @@ public class HdmiCecLocalDeviceTest { mHdmiControlService.initService(); mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY); mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC); - mNativeWrapper.setPhysicalAddress(0x2000); mTestLooper.dispatchAll(); mNativeWrapper.clearResultMessages(); } @@ -237,6 +237,7 @@ public class HdmiCecLocalDeviceTest { @Test public void handleGivePhysicalAddress_success() { mNativeWrapper.setPhysicalAddress(0x0); + mHdmiControlService.onHotplug(0x0, true); HdmiCecMessage expectedMessage = HdmiCecMessageBuilder.buildReportPhysicalAddressCommand(ADDR_TV, 0, DEVICE_TV); @Constants.HandleMessageResult @@ -252,6 +253,7 @@ public class HdmiCecLocalDeviceTest { @Test public void handleGivePhysicalAddress_failure() { mNativeWrapper.setPhysicalAddress(Constants.INVALID_PHYSICAL_ADDRESS); + mHdmiControlService.onHotplug(Constants.INVALID_PHYSICAL_ADDRESS, true); HdmiCecMessage expectedMessage = HdmiCecMessageBuilder.buildFeatureAbortCommand( ADDR_TV, diff --git a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTvTest.java b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTvTest.java index b50684bb7a25..2a4b79730851 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTvTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceTvTest.java @@ -221,13 +221,13 @@ public class HdmiCecLocalDeviceTvTest { .setEarcSupported(true) .build(); mNativeWrapper.setPortInfo(hdmiPortInfos); + mTvPhysicalAddress = 0x0000; + mNativeWrapper.setPhysicalAddress(mTvPhysicalAddress); mHdmiControlService.initService(); mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY); mPowerManager = new FakePowerManagerWrapper(context); mHdmiControlService.setPowerManager(mPowerManager); - mTvPhysicalAddress = 0x0000; mEarcBlocksArc = false; - mNativeWrapper.setPhysicalAddress(mTvPhysicalAddress); mHdmiControlService.setEarcEnabled(HdmiControlManager.EARC_FEATURE_DISABLED); mTestLooper.dispatchAll(); mHdmiCecLocalDeviceTv = mHdmiControlService.tv(); 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 1ad9ce02daa3..10f4308cbcfb 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecNetworkTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecNetworkTest.java @@ -660,4 +660,18 @@ public class HdmiCecNetworkTest { assertThat(mHdmiCecNetwork.getLocalDeviceList().get(0)).isInstanceOf( HdmiCecLocalDeviceTv.class); } + + @Test + public void portInfoInitiated_getPhysicalAddressCalled_readsFromHalOnFirstCallOnly() { + mNativeWrapper.clearGetPhysicalAddressCallHistory(); + mNativeWrapper.setPhysicalAddress(0x0000); + mHdmiCecNetwork.initPortInfo(); + + assertThat(mHdmiCecNetwork.getPhysicalAddress()).isEqualTo(0x0000); + assertThat(mNativeWrapper.getPhysicalAddressCalled()).isTrue(); + + mNativeWrapper.clearGetPhysicalAddressCallHistory(); + assertThat(mHdmiCecNetwork.getPhysicalAddress()).isEqualTo(0x0000); + assertThat(mNativeWrapper.getPhysicalAddressCalled()).isFalse(); + } } diff --git a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecPowerStatusControllerTest.java b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecPowerStatusControllerTest.java index 9412ee0d4ac7..3361e7f359e2 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecPowerStatusControllerTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecPowerStatusControllerTest.java @@ -115,12 +115,12 @@ public class HdmiCecPowerStatusControllerTest { .build(); mNativeWrapper.setPortInfo(hdmiPortInfos); mNativeWrapper.setPortConnectionStatus(1, true); + mNativeWrapper.setPhysicalAddress(0x2000); mHdmiControlService.initService(); mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY); mPowerManager = new FakePowerManagerWrapper(contextSpy); mHdmiControlService.setPowerManager(mPowerManager); mHdmiControlService.getHdmiCecNetwork().initPortInfo(); - mNativeWrapper.setPhysicalAddress(0x2000); mTestLooper.dispatchAll(); mHdmiCecLocalDevicePlayback = mHdmiControlService.playback(); mHdmiCecPowerStatusController = new HdmiCecPowerStatusController(mHdmiControlService); diff --git a/services/tests/servicestests/src/com/android/server/hdmi/OneTouchPlayActionTest.java b/services/tests/servicestests/src/com/android/server/hdmi/OneTouchPlayActionTest.java index 298ff460c9eb..2f4a6604441f 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/OneTouchPlayActionTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/OneTouchPlayActionTest.java @@ -118,6 +118,8 @@ public class OneTouchPlayActionTest { mHdmiControlService.setHdmiCecConfig(mHdmiCecConfig); setHdmiControlEnabled(hdmiControlEnabled); mNativeWrapper = new FakeNativeWrapper(); + mPhysicalAddress = 0x2000; + mNativeWrapper.setPhysicalAddress(mPhysicalAddress); mHdmiCecController = HdmiCecController.createWithNativeWrapper( this.mHdmiControlService, mNativeWrapper, mHdmiControlService.getAtomWriter()); mHdmiControlService.setDeviceConfig(new FakeDeviceConfigWrapper()); @@ -127,8 +129,6 @@ public class OneTouchPlayActionTest { mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY); mPowerManager = new FakePowerManagerWrapper(mContextSpy); mHdmiControlService.setPowerManager(mPowerManager); - mPhysicalAddress = 0x2000; - mNativeWrapper.setPhysicalAddress(mPhysicalAddress); mTestLooper.dispatchAll(); mNativeWrapper.clearResultMessages(); } diff --git a/services/tests/servicestests/src/com/android/server/hdmi/PowerStatusMonitorActionTest.java b/services/tests/servicestests/src/com/android/server/hdmi/PowerStatusMonitorActionTest.java index 1d4a72fc30e2..974f64dbd84f 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/PowerStatusMonitorActionTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/PowerStatusMonitorActionTest.java @@ -111,12 +111,12 @@ public class PowerStatusMonitorActionTest { .setArcSupported(false) .build(); mNativeWrapper.setPortInfo(hdmiPortInfo); + mPhysicalAddress = 0x0000; + mNativeWrapper.setPhysicalAddress(mPhysicalAddress); mHdmiControlService.initService(); mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY); mPowerManager = new FakePowerManagerWrapper(mContextSpy); mHdmiControlService.setPowerManager(mPowerManager); - mPhysicalAddress = 0x0000; - mNativeWrapper.setPhysicalAddress(mPhysicalAddress); mTestLooper.dispatchAll(); mTvDevice = mHdmiControlService.tv(); mNativeWrapper.clearResultMessages(); diff --git a/services/tests/servicestests/src/com/android/server/hdmi/RequestSadActionTest.java b/services/tests/servicestests/src/com/android/server/hdmi/RequestSadActionTest.java index cafe1e7dc197..f8e465c4c36f 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/RequestSadActionTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/RequestSadActionTest.java @@ -128,6 +128,7 @@ public class RequestSadActionTest { mHdmiControlService.setHdmiCecConfig(new FakeHdmiCecConfig(context)); mHdmiControlService.setDeviceConfig(new FakeDeviceConfigWrapper()); mNativeWrapper = new FakeNativeWrapper(); + mNativeWrapper.setPhysicalAddress(0x0000); mHdmiCecController = HdmiCecController.createWithNativeWrapper( mHdmiControlService, mNativeWrapper, mHdmiControlService.getAtomWriter()); mHdmiControlService.setCecController(mHdmiCecController); @@ -136,7 +137,6 @@ public class RequestSadActionTest { mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY); mPowerManager = new FakePowerManagerWrapper(context); mHdmiControlService.setPowerManager(mPowerManager); - mNativeWrapper.setPhysicalAddress(0x0000); mTestLooper.dispatchAll(); mHdmiCecLocalDeviceTv = mHdmiControlService.tv(); mTvLogicalAddress = mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress(); diff --git a/services/tests/servicestests/src/com/android/server/hdmi/ResendCecCommandActionPlaybackTest.java b/services/tests/servicestests/src/com/android/server/hdmi/ResendCecCommandActionPlaybackTest.java index 864a182e8d0d..67a3f2a64d32 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/ResendCecCommandActionPlaybackTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/ResendCecCommandActionPlaybackTest.java @@ -87,6 +87,8 @@ public class ResendCecCommandActionPlaybackTest { mHdmiControlService.setHdmiCecConfig(new FakeHdmiCecConfig(context)); mHdmiControlService.setDeviceConfig(new FakeDeviceConfigWrapper()); mNativeWrapper = new FakeNativeWrapper(); + mPhysicalAddress = 0x2000; + mNativeWrapper.setPhysicalAddress(mPhysicalAddress); HdmiCecController hdmiCecController = HdmiCecController.createWithNativeWrapper( this.mHdmiControlService, mNativeWrapper, mHdmiControlService.getAtomWriter()); mHdmiControlService.setCecController(hdmiCecController); @@ -95,8 +97,6 @@ public class ResendCecCommandActionPlaybackTest { mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY); mPowerManager = new FakePowerManagerWrapper(context); mHdmiControlService.setPowerManager(mPowerManager); - mPhysicalAddress = 0x2000; - mNativeWrapper.setPhysicalAddress(mPhysicalAddress); mTestLooper.dispatchAll(); mPlaybackDevice = mHdmiControlService.playback(); diff --git a/services/tests/servicestests/src/com/android/server/hdmi/ResendCecCommandActionTvTest.java b/services/tests/servicestests/src/com/android/server/hdmi/ResendCecCommandActionTvTest.java index 06709cdd6ac4..047a04c60176 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/ResendCecCommandActionTvTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/ResendCecCommandActionTvTest.java @@ -89,6 +89,8 @@ public class ResendCecCommandActionTvTest { mHdmiControlService.setHdmiCecConfig(new FakeHdmiCecConfig(context)); mHdmiControlService.setDeviceConfig(new FakeDeviceConfigWrapper()); mNativeWrapper = new FakeNativeWrapper(); + mPhysicalAddress = 0x0000; + mNativeWrapper.setPhysicalAddress(mPhysicalAddress); HdmiCecController hdmiCecController = HdmiCecController.createWithNativeWrapper( this.mHdmiControlService, mNativeWrapper, mHdmiControlService.getAtomWriter()); mHdmiControlService.setCecController(hdmiCecController); @@ -97,8 +99,6 @@ public class ResendCecCommandActionTvTest { mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY); mPowerManager = new FakePowerManagerWrapper(context); mHdmiControlService.setPowerManager(mPowerManager); - mPhysicalAddress = 0x0000; - mNativeWrapper.setPhysicalAddress(mPhysicalAddress); mTestLooper.dispatchAll(); mTvDevice = mHdmiControlService.tv(); diff --git a/services/tests/servicestests/src/com/android/server/hdmi/RoutingControlActionTest.java b/services/tests/servicestests/src/com/android/server/hdmi/RoutingControlActionTest.java index 5163e29b86f1..1019db46482d 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/RoutingControlActionTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/RoutingControlActionTest.java @@ -188,6 +188,7 @@ public class RoutingControlActionTest { mHdmiControlService.setIoLooper(mMyLooper); mNativeWrapper = new FakeNativeWrapper(); + mNativeWrapper.setPhysicalAddress(0x0000); mHdmiCecController = HdmiCecController.createWithNativeWrapper( mHdmiControlService, mNativeWrapper, mHdmiControlService.getAtomWriter()); mHdmiControlService.setDeviceConfig(new FakeDeviceConfigWrapper()); @@ -205,7 +206,6 @@ public class RoutingControlActionTest { mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY); mPowerManager = new FakePowerManagerWrapper(context); mHdmiControlService.setPowerManager(mPowerManager); - mNativeWrapper.setPhysicalAddress(0x0000); mTestLooper.dispatchAll(); mHdmiCecLocalDeviceTv = mHdmiControlService.tv(); mNativeWrapper.clearResultMessages(); diff --git a/services/tests/servicestests/src/com/android/server/hdmi/SystemAudioAutoInitiationActionTest.java b/services/tests/servicestests/src/com/android/server/hdmi/SystemAudioAutoInitiationActionTest.java index 4dcc6a400c1e..effea5abcecb 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/SystemAudioAutoInitiationActionTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/SystemAudioAutoInitiationActionTest.java @@ -92,6 +92,8 @@ public class SystemAudioAutoInitiationActionTest { mHdmiControlService.setIoLooper(myLooper); mNativeWrapper = new FakeNativeWrapper(); + mPhysicalAddress = 0x0000; + mNativeWrapper.setPhysicalAddress(mPhysicalAddress); HdmiCecController hdmiCecController = HdmiCecController.createWithNativeWrapper( mHdmiControlService, mNativeWrapper, mHdmiControlService.getAtomWriter()); mHdmiControlService.setDeviceConfig(new FakeDeviceConfigWrapper()); @@ -115,8 +117,6 @@ public class SystemAudioAutoInitiationActionTest { mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY); mPowerManager = new FakePowerManagerWrapper(mContextSpy); mHdmiControlService.setPowerManager(mPowerManager); - mPhysicalAddress = 0x0000; - mNativeWrapper.setPhysicalAddress(mPhysicalAddress); mTestLooper.dispatchAll(); mHdmiCecLocalDeviceTv = mHdmiControlService.tv(); mPhysicalAddress = mHdmiCecLocalDeviceTv.getDeviceInfo().getLogicalAddress(); -- cgit v1.2.3-59-g8ed1b