Zoomtopia is here. Unlock the transformative power of generative AI, helping you connect, collaborate, and Work Happy with AI Companion.
Register nowEmpowering you to increase productivity, improve team effectiveness, and enhance skills.
Learn moreKeep your Zoom app up to date to access the latest features.
Download Center Download the Zoom appDownload hi-res images and animations to elevate your next Zoom meeting.
Browse Backgrounds Zoom Virtual BackgroundsEmpowering you to increase productivity, improve team effectiveness, and enhance skills.
Zoom AI Companion2023-08-06 07:20 AM - last edited on 2023-08-28 12:06 PM by RN
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
2023-08-16 10:37 AM
Hi @Anuj_Kumar16 and welcome to the Zoom Community! I'm sorry you haven't received an answer to your question yet. You may want to ask over in our Developer Forum, they will be better able to help!