diff options
-rw-r--r-- | services/tests/servicestests/src/com/android/server/hdmi/OneTouchPlayActionTest.java | 41 |
1 files changed, 31 insertions, 10 deletions
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 5074f64a9830..22ad956fcc10 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/OneTouchPlayActionTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/OneTouchPlayActionTest.java @@ -29,9 +29,11 @@ import android.content.ContextWrapper; import android.hardware.hdmi.HdmiControlManager; import android.hardware.hdmi.HdmiDeviceInfo; import android.hardware.hdmi.IHdmiControlCallback; +import android.hardware.tv.cec.V1_0.SendMessageResult; import android.media.AudioManager; import android.os.Looper; import android.os.test.TestLooper; +import android.platform.test.annotations.Presubmit; import androidx.test.InstrumentationRegistry; import androidx.test.filters.SmallTest; @@ -47,6 +49,7 @@ import java.util.Collections; /** Tests for {@link OneTouchPlayAction} */ @SmallTest +@Presubmit @RunWith(JUnit4.class) public class OneTouchPlayActionTest { private static final byte[] POWER_ON = new byte[]{HdmiControlManager.POWER_STATUS_ON}; @@ -180,13 +183,16 @@ public class OneTouchPlayActionTest { public void succeedAfterGettingPowerStatusOn_Cec14b() throws Exception { setUp(true); - mHdmiControlService.getHdmiCecNetwork().addCecDevice(INFO_TV); HdmiCecLocalDevicePlayback playbackDevice = new HdmiCecLocalDevicePlayback( mHdmiControlService); playbackDevice.init(); mLocalDevices.add(playbackDevice); mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC); mTestLooper.dispatchAll(); + + mNativeWrapper.setPollAddressResponse(ADDR_TV, SendMessageResult.SUCCESS); + mHdmiControlService.getHdmiCecNetwork().addCecDevice(INFO_TV); + mTestLooper.dispatchAll(); mNativeWrapper.clearResultMessages(); TestActionTimer actionTimer = new TestActionTimer(); @@ -230,13 +236,16 @@ public class OneTouchPlayActionTest { public void succeedAfterGettingTransientPowerStatus_Cec14b() throws Exception { setUp(true); - mHdmiControlService.getHdmiCecNetwork().addCecDevice(INFO_TV); HdmiCecLocalDevicePlayback playbackDevice = new HdmiCecLocalDevicePlayback( mHdmiControlService); playbackDevice.init(); mLocalDevices.add(playbackDevice); mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC); mTestLooper.dispatchAll(); + + mNativeWrapper.setPollAddressResponse(ADDR_TV, SendMessageResult.SUCCESS); + mHdmiControlService.getHdmiCecNetwork().addCecDevice(INFO_TV); + mTestLooper.dispatchAll(); mNativeWrapper.clearResultMessages(); TestActionTimer actionTimer = new TestActionTimer(); @@ -293,13 +302,16 @@ public class OneTouchPlayActionTest { public void timeOut_Cec14b() throws Exception { setUp(true); - mHdmiControlService.getHdmiCecNetwork().addCecDevice(INFO_TV); HdmiCecLocalDevicePlayback playbackDevice = new HdmiCecLocalDevicePlayback( mHdmiControlService); playbackDevice.init(); mLocalDevices.add(playbackDevice); mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC); mTestLooper.dispatchAll(); + + mNativeWrapper.setPollAddressResponse(ADDR_TV, SendMessageResult.SUCCESS); + mHdmiControlService.getHdmiCecNetwork().addCecDevice(INFO_TV); + mTestLooper.dispatchAll(); mNativeWrapper.clearResultMessages(); TestActionTimer actionTimer = new TestActionTimer(); @@ -339,13 +351,15 @@ public class OneTouchPlayActionTest { @Test public void succeedIfPowerStatusOn_Cec20() throws Exception { setUp(true); - - mHdmiControlService.getHdmiCecNetwork().addCecDevice(INFO_TV); HdmiCecLocalDevicePlayback playbackDevice = new HdmiCecLocalDevicePlayback( mHdmiControlService); playbackDevice.init(); mLocalDevices.add(playbackDevice); mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC); + mTestLooper.dispatchAll(); + + mNativeWrapper.setPollAddressResponse(ADDR_TV, SendMessageResult.SUCCESS); + mHdmiControlService.getHdmiCecNetwork().addCecDevice(INFO_TV); mHdmiControlService.getHdmiCecNetwork().updateDevicePowerStatus(ADDR_TV, HdmiControlManager.POWER_STATUS_ON); mTestLooper.dispatchAll(); @@ -377,13 +391,15 @@ public class OneTouchPlayActionTest { @Test public void succeedIfPowerStatusUnknown_Cec20() throws Exception { setUp(true); - - mHdmiControlService.getHdmiCecNetwork().addCecDevice(INFO_TV); HdmiCecLocalDevicePlayback playbackDevice = new HdmiCecLocalDevicePlayback( mHdmiControlService); playbackDevice.init(); mLocalDevices.add(playbackDevice); mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC); + mTestLooper.dispatchAll(); + + mNativeWrapper.setPollAddressResponse(ADDR_TV, SendMessageResult.SUCCESS); + mHdmiControlService.getHdmiCecNetwork().addCecDevice(INFO_TV); mHdmiControlService.getHdmiCecNetwork().updateDevicePowerStatus(ADDR_TV, HdmiControlManager.POWER_STATUS_UNKNOWN); mTestLooper.dispatchAll(); @@ -429,13 +445,15 @@ public class OneTouchPlayActionTest { @Test public void succeedIfPowerStatusStandby_Cec20() throws Exception { setUp(true); - - mHdmiControlService.getHdmiCecNetwork().addCecDevice(INFO_TV); HdmiCecLocalDevicePlayback playbackDevice = new HdmiCecLocalDevicePlayback( mHdmiControlService); playbackDevice.init(); mLocalDevices.add(playbackDevice); mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC); + mTestLooper.dispatchAll(); + + mNativeWrapper.setPollAddressResponse(ADDR_TV, SendMessageResult.SUCCESS); + mHdmiControlService.getHdmiCecNetwork().addCecDevice(INFO_TV); mHdmiControlService.getHdmiCecNetwork().updateDevicePowerStatus(ADDR_TV, HdmiControlManager.POWER_STATUS_STANDBY); mTestLooper.dispatchAll(); @@ -565,7 +583,6 @@ public class OneTouchPlayActionTest { public void pendingActionDoesNotBlockSendingStandby_Cec14b() throws Exception { setUp(true); - mHdmiControlService.getHdmiCecNetwork().addCecDevice(INFO_TV); HdmiCecLocalDevicePlayback playbackDevice = new HdmiCecLocalDevicePlayback( mHdmiControlService); playbackDevice.init(); @@ -575,6 +592,10 @@ public class OneTouchPlayActionTest { HdmiControlManager.POWER_CONTROL_MODE_TV); mHdmiControlService.allocateLogicalAddress(mLocalDevices, INITIATED_BY_ENABLE_CEC); mTestLooper.dispatchAll(); + + mNativeWrapper.setPollAddressResponse(ADDR_TV, SendMessageResult.SUCCESS); + mHdmiControlService.getHdmiCecNetwork().addCecDevice(INFO_TV); + mTestLooper.dispatchAll(); mNativeWrapper.clearResultMessages(); TestActionTimer actionTimer = new TestActionTimer(); |