Zoom SDK Integration Issue - Android Application
Hello Zoom Team, I am currently working on integrating the Zoom SDK (version - 5.13.5.11583) into our Android application. While conducting our testing, we encountered an issue that requires your expertise and assistance. The problem arises when a user attempts to join a meeting in which the host is absent, resulting in a "waiting for host" status. Unfortunately, at this point, our application crashes, and we have been unable to pinpoint the exact cause. To provide you with more context, the integration itself works flawlessly when the host is present, and users are successfully able to join meetings. The crashing issue occurs only when the host is not present, and the user is left in the "waiting for host" state. In order to address this concern effectively, we kindly request your guidance in understanding the cause of the crash and any potential solutions to resolve this matter promptly. As we aim to deliver a seamless user experience with our application, your expertise is vital to ensuring the smooth functioning of Zoom SDK integration. To assist you in your investigation, I have attached the relevant crash logs and code snippets. Additionally, here is a summary of the error encountered: FATAL EXCEPTION: main Process: com.drbindra.badabusiness, PID: 11077 java.lang.IllegalStateException at com.google.android.exoplayer2.util.Assertions.checkStateNotNull(Assertions.java:116) at com.google.android.exoplayer2.ui.PlayerView.setControllerShowTimeoutMs(PlayerView.java:859) at com.zipow.videobox.newjoinflow.waitingview.oldui.ZmJoinFlowVideoView.onVisibilityChanged(ZmJoinFlowVideoView.java:7) at android.view.View.dispatchVisibilityChanged(View.java:15549) at android.view.ViewGroup.dispatchVisibilityChanged(ViewGroup.java:1618) at android.view.ViewGroup.dispatchVisibilityChanged(ViewGroup.java:1622) at android.view.ViewGroup.dispatchVisibilityChanged(ViewGroup.java:1622) at android.view.ViewGroup.dispatchVisibilityChanged(ViewGroup.java:1622) at android.view.ViewGroup.dispatchVisibilityChanged(ViewGroup.java:1622) at android.view.ViewGroup.dispatchVisibilityChanged(ViewGroup.java:1622) at android.view.View.setFlags(View.java:17591) at android.view.View.setVisibility(View.java:12466) at com.zipow.videobox.newjoinflow.waitingview.oldui.ZmOldUINewJoinFlowWaitingView.setVisibility(ZmOldUINewJoinFlowWaitingView.java:2) at com.zipow.videobox.ConfActivityNormal.switchViewTo(ConfActivityNormal.java:67) at com.zipow.videobox.ConfActivity.switchViewToWaitingJoinView(ConfActivity.java:9) at com.zipow.videobox.ConfActivity$y.run(ConfActivity.java:2) at us.zoom.proguard.cg.a(EventTaskManager.java:31) at us.zoom.proguard.cg.d(EventTaskManager.java:9) at us.zoom.proguard.cg.a(EventTaskManager.java:17) at us.zoom.proguard.cg.b(EventTaskManager.java:7) at com.zipow.videobox.ConfActivity.handleUICommand(ConfActivity.java:77) at com.zipow.videobox.ConfActivityNormal.handleUICommand(ConfActivityNormal.java:3) at us.zoom.proguard.sg1.handleUICommand(ZmContextGroupSession.java:7) at us.zoom.proguard.tg1.a(ZmContextGroupSessionMgr.java:22) at us.zoom.proguard.tg1.a(ZmContextGroupSessionMgr.java:12) at us.zoom.proguard.lf1.a(ZmConfUINativeEventImpl.java:2) at us.zoom.proguard.ue1.a(ZmConfStateProxy.java:67) at us.zoom.proguard.oe1.a(ZmConfStateMgr.java:58) at com.zipow.videobox.conference.jni.ZmConfDefaultCallback.OnRequestWaitingForHost(ZmConfDefaultCallback.java:1) at us.zoom.business.jni.ZoomCommonPTApp.dispatchIdleMessageImpl(Native Method) at us.zoom.business.jni.ZoomCommonPTApp.dispatchIdleMessage(ZoomCommonPTApp.java:8) at com.zipow.videobox.VideoBoxApplication$c.run(VideoBoxApplication.java:7) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:246) at android.app.ActivityThread.main(ActivityThread.java:8488) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:596) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130) code snippets: CoroutineScope(Dispatchers.Main).launch { zoomSdk = ZoomSDK.getInstance() val zoomParams = ZoomSDKInitParams() zoomParams.appKey = “**********************” zoomParams.domain = "zoom.us" zoomParams.appSecret = “********************************” zoomParams.enableLog = true val listener: ZoomSDKInitializeListener = object : ZoomSDKInitializeListener { override fun onZoomSDKInitializeResult(erroCode: Int, internalErrorCode: Int) { if (selectedSession != null) { joinMeeting(selectedSession!!) } } override fun onZoomAuthIdentityExpired() { } } zoomSdk?.initialize(requireContext(), listener, zoomParams) } private fun joinMeeting(zoomSession: ZoomSessionDetails) { if (zoomSession.zoom_id != null) { val meetingService: MeetingService? = zoomSdk?.meetingService val option = JoinMeetingOptions() val meetingPram = JoinMeetingParams() meetingPram.displayName = "${DataManager.getInstance().userName}" meetingPram.meetingNo = zoomSession.zoom_id.replace(" ", "") meetingPram.password = zoomSession.zoom_password meetingService?.addListener(object : MeetingServiceListener { override fun onMeetingStatusChanged(status: MeetingStatus?, p1: Int, p2: Int) { val inMeeting = status?.equals(MeetingStatus.MEETING_STATUS_INMEETING) ?: false Log.d("watch", "watch-duration meeting status " + status.toString()) } override fun onMeetingParameterNotification(p0: MeetingParameter?) { Log.d("onMeetingParameterNotification", "onMeetingParameterNotification") } }) val status = meetingService?.joinMeetingWithParams(requireContext(), meetingPram, option) Log.d("Status", "$status") if (status != MeetingError.MEETING_ERROR_SUCCESS) { meetingService?.leaveCurrentMeeting(true) Handler(Looper.getMainLooper()).postDelayed({ meetingService?.joinMeetingWithParams(requireContext(), meetingPram, option) }, 2000) } } else { Utils.showCommonDialog( requireContext(), "Zoom Error", getString(R.string.title_something_went_wrong), "OK" ) { dialog, _ -> dialog.dismiss() } } } Please look into it and help me out. Thanks
Show less