|
24 | 24 | import com.smartdevicelink.proxy.rpc.enums.HMILevel; |
25 | 25 | import com.smartdevicelink.proxy.rpc.enums.SystemCapabilityType; |
26 | 26 | import com.smartdevicelink.proxy.rpc.enums.TouchType; |
| 27 | +import com.smartdevicelink.proxy.rpc.enums.VideoStreamingState; |
27 | 28 | import com.smartdevicelink.proxy.rpc.listeners.OnRPCNotificationListener; |
28 | 29 | import com.smartdevicelink.streaming.video.SdlRemoteDisplay; |
29 | 30 | import com.smartdevicelink.streaming.video.VideoStreamingParameters; |
@@ -496,4 +497,39 @@ private void assertMotionEventWithScale(int width, int height, float scale) { |
496 | 497 | assertEquals(Math.round(e1x / scale), Math.round(motionEvent.getX(0))); |
497 | 498 | assertEquals(Math.round(e1y / scale), Math.round(motionEvent.getY(0))); |
498 | 499 | } |
| 500 | + |
| 501 | + public void testIsHMIStateVideoStreamCapable() { |
| 502 | + VideoStreamManager videoStreamManager = new VideoStreamManager(mock(ISdl.class)); |
| 503 | + |
| 504 | + // Case 1 (VideoStreamingState = STREAMABLE) |
| 505 | + assertTrue(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_FULL, VideoStreamingState.STREAMABLE))); |
| 506 | + assertTrue(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_LIMITED, VideoStreamingState.STREAMABLE))); |
| 507 | + assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_BACKGROUND, VideoStreamingState.STREAMABLE))); |
| 508 | + assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_NONE, VideoStreamingState.STREAMABLE))); |
| 509 | + assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(null, VideoStreamingState.STREAMABLE))); |
| 510 | + |
| 511 | + // Case 2 (VideoStreamingState = NOT_STREAMABLE) |
| 512 | + assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_FULL, VideoStreamingState.NOT_STREAMABLE))); |
| 513 | + assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_LIMITED, VideoStreamingState.NOT_STREAMABLE))); |
| 514 | + assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_BACKGROUND, VideoStreamingState.NOT_STREAMABLE))); |
| 515 | + assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_NONE, VideoStreamingState.NOT_STREAMABLE))); |
| 516 | + assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(null, VideoStreamingState.NOT_STREAMABLE))); |
| 517 | + |
| 518 | + // Case 3 (VideoStreamingState = NULL) |
| 519 | + assertTrue(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_FULL, null))); |
| 520 | + assertTrue(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_LIMITED, null))); |
| 521 | + assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_BACKGROUND, null))); |
| 522 | + assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(HMILevel.HMI_NONE, null))); |
| 523 | + assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(createOnHMIStatus(null, null))); |
| 524 | + |
| 525 | + // Case 4 (onHMIStatus = NULL) |
| 526 | + assertFalse(videoStreamManager.isHMIStateVideoStreamCapable(null)); |
| 527 | + } |
| 528 | + |
| 529 | + private OnHMIStatus createOnHMIStatus(HMILevel hmiLevel, VideoStreamingState videoStreamingState) { |
| 530 | + OnHMIStatus onHMIStatus = new OnHMIStatus(); |
| 531 | + onHMIStatus.setHmiLevel(hmiLevel); |
| 532 | + onHMIStatus.setVideoStreamingState(videoStreamingState); |
| 533 | + return onHMIStatus; |
| 534 | + } |
499 | 535 | } |
0 commit comments