Add call to onBootPhase to tests that use HdmiControlService
Some system services are accessed and cached in a call to HdmiControlService#onBootPhase(SystemService#SYSTEM_SERVICES_READY). Since a lot of the code in the HDMI framework accesses other system services, tests that use HdmiControlService may cause null pointer exceptions as the codebase changes. This CL proactively adds this call to avoid future breakages. Test: atest com.android.server.hdmi Bug: 205817707 Change-Id: I684d188e563ff9089deacd1009f511e50a08f255
This commit is contained in:
@@ -94,6 +94,7 @@ public class ActiveSourceActionTest {
|
||||
mHdmiControlService.setCecController(hdmiCecController);
|
||||
mHdmiControlService.setHdmiMhlController(HdmiMhlControllerStub.create(mHdmiControlService));
|
||||
mHdmiControlService.initService();
|
||||
mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY);
|
||||
mPowerManager = new FakePowerManagerWrapper(mContextSpy);
|
||||
mHdmiControlService.setPowerManager(mPowerManager);
|
||||
mPhysicalAddress = 0x2000;
|
||||
@@ -154,7 +155,6 @@ public class ActiveSourceActionTest {
|
||||
mHdmiControlService);
|
||||
audioDevice.init();
|
||||
mLocalDevices.add(audioDevice);
|
||||
mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY);
|
||||
mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.server.hdmi;
|
||||
|
||||
import static com.android.server.SystemService.PHASE_SYSTEM_SERVICES_READY;
|
||||
import static com.android.server.hdmi.Constants.ADDR_BROADCAST;
|
||||
import static com.android.server.hdmi.Constants.ADDR_TV;
|
||||
import static com.android.server.hdmi.HdmiControlService.INITIATED_BY_ENABLE_CEC;
|
||||
@@ -111,6 +112,7 @@ public class DevicePowerStatusActionTest {
|
||||
mHdmiControlService.setCecController(hdmiCecController);
|
||||
mHdmiControlService.setHdmiMhlController(HdmiMhlControllerStub.create(mHdmiControlService));
|
||||
mHdmiControlService.initService();
|
||||
mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY);
|
||||
mPowerManager = new FakePowerManagerWrapper(mContextSpy);
|
||||
mHdmiControlService.setPowerManager(mPowerManager);
|
||||
mPhysicalAddress = 0x2000;
|
||||
|
||||
@@ -20,6 +20,7 @@ import static android.hardware.hdmi.HdmiControlManager.POWER_STATUS_ON;
|
||||
import static android.hardware.hdmi.HdmiControlManager.POWER_STATUS_STANDBY;
|
||||
import static android.hardware.hdmi.HdmiControlManager.POWER_STATUS_TRANSIENT_TO_ON;
|
||||
|
||||
import static com.android.server.SystemService.PHASE_SYSTEM_SERVICES_READY;
|
||||
import static com.android.server.hdmi.Constants.ADDR_PLAYBACK_1;
|
||||
import static com.android.server.hdmi.Constants.ADDR_PLAYBACK_2;
|
||||
import static com.android.server.hdmi.Constants.ADDR_PLAYBACK_3;
|
||||
@@ -136,6 +137,7 @@ public class DeviceSelectActionFromPlaybackTest {
|
||||
|
||||
mLocalDevices.add(mHdmiCecLocalDevicePlayback);
|
||||
mHdmiControlService.initService();
|
||||
mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY);
|
||||
mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC);
|
||||
mNativeWrapper.setPhysicalAddress(0x0000);
|
||||
mPowerManager = new FakePowerManagerWrapper(context);
|
||||
|
||||
@@ -20,6 +20,7 @@ import static android.hardware.hdmi.HdmiControlManager.POWER_STATUS_ON;
|
||||
import static android.hardware.hdmi.HdmiControlManager.POWER_STATUS_STANDBY;
|
||||
import static android.hardware.hdmi.HdmiControlManager.POWER_STATUS_TRANSIENT_TO_ON;
|
||||
|
||||
import static com.android.server.SystemService.PHASE_SYSTEM_SERVICES_READY;
|
||||
import static com.android.server.hdmi.Constants.ADDR_PLAYBACK_1;
|
||||
import static com.android.server.hdmi.Constants.ADDR_PLAYBACK_2;
|
||||
import static com.android.server.hdmi.Constants.ADDR_TV;
|
||||
@@ -145,6 +146,7 @@ public class DeviceSelectActionFromTvTest {
|
||||
true, false, false);
|
||||
mNativeWrapper.setPortInfo(hdmiPortInfos);
|
||||
mHdmiControlService.initService();
|
||||
mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY);
|
||||
mPowerManager = new FakePowerManagerWrapper(context);
|
||||
mHdmiControlService.setPowerManager(mPowerManager);
|
||||
mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC);
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.android.server.hdmi;
|
||||
|
||||
import static com.android.server.SystemService.PHASE_SYSTEM_SERVICES_READY;
|
||||
import static com.android.server.hdmi.Constants.ABORT_UNRECOGNIZED_OPCODE;
|
||||
import static com.android.server.hdmi.Constants.ADDR_AUDIO_SYSTEM;
|
||||
import static com.android.server.hdmi.Constants.ADDR_BROADCAST;
|
||||
@@ -151,6 +152,7 @@ public class HdmiCecLocalDevicePlaybackTest {
|
||||
mNativeWrapper.setPortInfo(hdmiPortInfos);
|
||||
mNativeWrapper.setPortConnectionStatus(1, true);
|
||||
mHdmiControlService.initService();
|
||||
mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY);
|
||||
mPowerManager = new FakePowerManagerWrapper(context);
|
||||
mHdmiControlService.setPowerManager(mPowerManager);
|
||||
mHdmiControlService.setPowerManagerInternal(mPowerManagerInternal);
|
||||
|
||||
@@ -17,6 +17,7 @@ package com.android.server.hdmi;
|
||||
|
||||
import static android.hardware.hdmi.HdmiDeviceInfo.DEVICE_TV;
|
||||
|
||||
import static com.android.server.SystemService.PHASE_SYSTEM_SERVICES_READY;
|
||||
import static com.android.server.hdmi.Constants.ADDR_AUDIO_SYSTEM;
|
||||
import static com.android.server.hdmi.Constants.ADDR_PLAYBACK_1;
|
||||
import static com.android.server.hdmi.Constants.ADDR_TV;
|
||||
@@ -191,6 +192,7 @@ public class HdmiCecLocalDeviceTest {
|
||||
mNativeWrapper.setPortInfo(hdmiPortInfos);
|
||||
mNativeWrapper.setPortConnectionStatus(1, true);
|
||||
mHdmiControlService.initService();
|
||||
mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY);
|
||||
mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC);
|
||||
mNativeWrapper.setPhysicalAddress(0x2000);
|
||||
mTestLooper.dispatchAll();
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.android.server.hdmi;
|
||||
|
||||
import static com.android.server.SystemService.PHASE_SYSTEM_SERVICES_READY;
|
||||
import static com.android.server.hdmi.Constants.ABORT_UNRECOGNIZED_OPCODE;
|
||||
import static com.android.server.hdmi.Constants.ADDR_AUDIO_SYSTEM;
|
||||
import static com.android.server.hdmi.Constants.ADDR_BROADCAST;
|
||||
@@ -179,6 +180,7 @@ public class HdmiCecLocalDeviceTvTest {
|
||||
new HdmiPortInfo(2, HdmiPortInfo.PORT_INPUT, 0x2000, true, false, true);
|
||||
mNativeWrapper.setPortInfo(hdmiPortInfos);
|
||||
mHdmiControlService.initService();
|
||||
mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY);
|
||||
mPowerManager = new FakePowerManagerWrapper(context);
|
||||
mHdmiControlService.setPowerManager(mPowerManager);
|
||||
mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC);
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.android.server.hdmi;
|
||||
|
||||
import static com.android.server.SystemService.PHASE_SYSTEM_SERVICES_READY;
|
||||
import static com.android.server.hdmi.HdmiControlService.INITIATED_BY_ENABLE_CEC;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
@@ -106,6 +107,7 @@ public class HdmiCecPowerStatusControllerTest {
|
||||
mNativeWrapper.setPortInfo(hdmiPortInfos);
|
||||
mNativeWrapper.setPortConnectionStatus(1, true);
|
||||
mHdmiControlService.initService();
|
||||
mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY);
|
||||
mPowerManager = new FakePowerManagerWrapper(contextSpy);
|
||||
mHdmiControlService.setPowerManager(mPowerManager);
|
||||
mHdmiControlService.getHdmiCecNetwork().initPortInfo();
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.server.hdmi;
|
||||
|
||||
import static com.android.server.SystemService.PHASE_SYSTEM_SERVICES_READY;
|
||||
import static com.android.server.hdmi.Constants.ADDR_TV;
|
||||
import static com.android.server.hdmi.HdmiControlService.INITIATED_BY_ENABLE_CEC;
|
||||
import static com.android.server.hdmi.OneTouchPlayAction.STATE_WAITING_FOR_REPORT_POWER_STATUS;
|
||||
@@ -121,6 +122,7 @@ public class OneTouchPlayActionTest {
|
||||
mHdmiControlService.setCecController(hdmiCecController);
|
||||
mHdmiControlService.setHdmiMhlController(HdmiMhlControllerStub.create(mHdmiControlService));
|
||||
mHdmiControlService.initService();
|
||||
mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY);
|
||||
mPowerManager = new FakePowerManagerWrapper(mContextSpy);
|
||||
mHdmiControlService.setPowerManager(mPowerManager);
|
||||
mPhysicalAddress = 0x2000;
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.server.hdmi;
|
||||
|
||||
import static com.android.server.SystemService.PHASE_SYSTEM_SERVICES_READY;
|
||||
import static com.android.server.hdmi.Constants.ADDR_BROADCAST;
|
||||
import static com.android.server.hdmi.Constants.ADDR_PLAYBACK_1;
|
||||
import static com.android.server.hdmi.Constants.ADDR_PLAYBACK_2;
|
||||
@@ -111,6 +112,7 @@ public class PowerStatusMonitorActionTest {
|
||||
new HdmiPortInfo(2, HdmiPortInfo.PORT_INPUT, 0x2000, true, false, false);
|
||||
mNativeWrapper.setPortInfo(hdmiPortInfo);
|
||||
mHdmiControlService.initService();
|
||||
mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY);
|
||||
mPowerManager = new FakePowerManagerWrapper(mContextSpy);
|
||||
mHdmiControlService.setPowerManager(mPowerManager);
|
||||
mPhysicalAddress = 0x0000;
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.server.hdmi;
|
||||
|
||||
import static com.android.server.SystemService.PHASE_SYSTEM_SERVICES_READY;
|
||||
import static com.android.server.hdmi.Constants.ADDR_AUDIO_SYSTEM;
|
||||
import static com.android.server.hdmi.HdmiControlService.INITIATED_BY_ENABLE_CEC;
|
||||
|
||||
@@ -125,6 +126,7 @@ public class RequestSadActionTest {
|
||||
mHdmiControlService.setHdmiMhlController(HdmiMhlControllerStub.create(mHdmiControlService));
|
||||
mLocalDevices.add(mHdmiCecLocalDeviceTv);
|
||||
mHdmiControlService.initService();
|
||||
mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY);
|
||||
mPowerManager = new FakePowerManagerWrapper(context);
|
||||
mHdmiControlService.setPowerManager(mPowerManager);
|
||||
mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC);
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.server.hdmi;
|
||||
|
||||
import static com.android.server.SystemService.PHASE_SYSTEM_SERVICES_READY;
|
||||
import static com.android.server.hdmi.Constants.ADDR_AUDIO_SYSTEM;
|
||||
import static com.android.server.hdmi.Constants.ADDR_BROADCAST;
|
||||
import static com.android.server.hdmi.Constants.ADDR_PLAYBACK_1;
|
||||
@@ -186,6 +187,7 @@ public class RoutingControlActionTest {
|
||||
true, false, false);
|
||||
mNativeWrapper.setPortInfo(hdmiPortInfos);
|
||||
mHdmiControlService.initService();
|
||||
mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY);
|
||||
mPowerManager = new FakePowerManagerWrapper(context);
|
||||
mHdmiControlService.setPowerManager(mPowerManager);
|
||||
mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC);
|
||||
|
||||
@@ -20,6 +20,7 @@ import static android.hardware.hdmi.DeviceFeatures.FEATURE_NOT_SUPPORTED;
|
||||
import static android.hardware.hdmi.DeviceFeatures.FEATURE_SUPPORTED;
|
||||
import static android.hardware.hdmi.DeviceFeatures.FEATURE_SUPPORT_UNKNOWN;
|
||||
|
||||
import static com.android.server.SystemService.PHASE_SYSTEM_SERVICES_READY;
|
||||
import static com.android.server.hdmi.HdmiControlService.INITIATED_BY_ENABLE_CEC;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
@@ -99,6 +100,7 @@ public class SetAudioVolumeLevelDiscoveryActionTest {
|
||||
mHdmiControlServiceSpy.setHdmiMhlController(
|
||||
HdmiMhlControllerStub.create(mHdmiControlServiceSpy));
|
||||
mHdmiControlServiceSpy.initService();
|
||||
mHdmiControlServiceSpy.onBootPhase(PHASE_SYSTEM_SERVICES_READY);
|
||||
mPowerManager = new FakePowerManagerWrapper(mContextSpy);
|
||||
mHdmiControlServiceSpy.setPowerManager(mPowerManager);
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package com.android.server.hdmi;
|
||||
|
||||
|
||||
import static com.android.server.SystemService.PHASE_SYSTEM_SERVICES_READY;
|
||||
import static com.android.server.hdmi.Constants.ADDR_AUDIO_SYSTEM;
|
||||
import static com.android.server.hdmi.HdmiControlService.INITIATED_BY_ENABLE_CEC;
|
||||
import static com.android.server.hdmi.SystemAudioAutoInitiationAction.RETRIES_ON_TIMEOUT;
|
||||
@@ -109,6 +110,7 @@ public class SystemAudioAutoInitiationActionTest {
|
||||
new HdmiPortInfo(2, HdmiPortInfo.PORT_INPUT, 0x2000, true, false, true);
|
||||
mNativeWrapper.setPortInfo(hdmiPortInfos);
|
||||
mHdmiControlService.initService();
|
||||
mHdmiControlService.onBootPhase(PHASE_SYSTEM_SERVICES_READY);
|
||||
mPowerManager = new FakePowerManagerWrapper(mContextSpy);
|
||||
mHdmiControlService.setPowerManager(mPowerManager);
|
||||
mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC);
|
||||
|
||||
Reference in New Issue
Block a user