From 51c6c9ba0200a7a6b56825931cc8cdd8dc0f2285 Mon Sep 17 00:00:00 2001 From: Hari Date: Mon, 2 Jan 2023 11:04:53 +0530 Subject: [PATCH] Refactor the code --- .../course/ui/MeetingScreenFragment.kt | 42 ++++++++++++------- 1 file changed, 27 insertions(+), 15 deletions(-) diff --git a/course/src/main/java/in/testpress/course/ui/MeetingScreenFragment.kt b/course/src/main/java/in/testpress/course/ui/MeetingScreenFragment.kt index 18c3ae944..804487c44 100644 --- a/course/src/main/java/in/testpress/course/ui/MeetingScreenFragment.kt +++ b/course/src/main/java/in/testpress/course/ui/MeetingScreenFragment.kt @@ -48,30 +48,42 @@ class MeetingScreenFragment : Fragment(), MeetingShareCallback.ShareEvent { } private fun renderVideo() { - primaryVideoViewManager.removeAllVideoUnits() - webCamVideoViewManager.removeAllVideoUnits() + renderPrimaryVideo() + renderWebCamVideo() + } - val defaultVideoViewRenderInfo = MobileRTCVideoUnitRenderInfo(0, 0, 100, 100) + private fun renderPrimaryVideo(){ + primaryVideoViewManager.removeAllVideoUnits() val screenShareUserId = inMeetingService.activeShareUserID() - if (inMeetingService.inMeetingShareController.isOtherSharing && inMeetingService.isHostUser(screenShareUserId)) { + val defaultVideoViewRenderInfo = MobileRTCVideoUnitRenderInfo(0, 0, 100, 100) + if(isHostSharingScreen(screenShareUserId)){ primaryVideoViewManager.addShareVideoUnit(screenShareUserId, defaultVideoViewRenderInfo) - renderWebCamVideo() - } else { - meetingScreenBinding.webCamView.visibility = View.GONE + }else{ primaryVideoViewManager.addActiveVideoUnit(defaultVideoViewRenderInfo) } } private fun renderWebCamVideo(){ - meetingScreenBinding.webCamView.visibility = View.VISIBLE - val defaultVideoViewRenderInfo = MobileRTCVideoUnitRenderInfo(0, 0, 100, 100).apply { - is_border_visible = false - aspect_mode = MobileRTCVideoUnitAspectMode.VIDEO_ASPECT_PAN_AND_SCAN + webCamVideoViewManager.removeAllVideoUnits() + + val screenShareUserId = inMeetingService.activeShareUserID() + if (isHostSharingScreen(screenShareUserId)){ + meetingScreenBinding.webCamView.visibility = View.VISIBLE + val defaultVideoViewRenderInfo = MobileRTCVideoUnitRenderInfo(0, 0, 100, 100).apply { + is_border_visible = false + aspect_mode = MobileRTCVideoUnitAspectMode.VIDEO_ASPECT_PAN_AND_SCAN + } + webCamVideoViewManager.addAttendeeVideoUnit( + inMeetingService.activeShareUserID(), + defaultVideoViewRenderInfo + ) + }else{ + meetingScreenBinding.webCamView.visibility = View.GONE } - webCamVideoViewManager.addAttendeeVideoUnit( - inMeetingService.activeShareUserID(), - defaultVideoViewRenderInfo - ) + } + + private fun isHostSharingScreen(screenShareUserId: Long): Boolean{ + return inMeetingService.inMeetingShareController.isOtherSharing && inMeetingService.isHostUser(screenShareUserId) } override fun onResume() {