Null VideoViewManager on Zoom SDK initalized

Description
Doing an initial setup of Zoom in a fragment. I initialize Zoom in the fragment’s onCreate. I am trying to add custom UI and not able to get a non-null VideoViewManager. Right now I am attempting to get it from inside onZoomSDKInitializeResult - I verified that it was successful, and if I step inside I see that mainboard.isSDKConfAppCreated() is returning false. I can see that if I delay the call 2000ms it returns a non-null VideoViewManager. At what point is it safe to do this operation? Thanks.

override fun onZoomSDKInitializeResult(p0: Int, p1: Int) {
    ZoomSDK.getInstance().meetingSettingsHelper.isCustomizedMeetingUIEnabled = true;

    val videoViewManager = mobile_rtc_video.videoViewManager
    videoViewManager.addActiveVideoUnit(MobileRTCVideoUnitRenderInfo(50, 50, 20, 20))
}

Which version?
v4.6.15801.0403

Hi dlee,

Thanks for the post. The MobileRTCVideoViewManager could only be retrieved after the MobileRTCVideoView has been successfully created. You may refer to the implementation in our demo app:https://github.com/zoom/zoom-sdk-android/blob/master/mobilertc-android-studio/sample/src/main/java/us/zoom/sdksample/inmeetingfunction/customizedmeetingui/MyMeetingActivity.java#L625

Hope this helps. Thanks!

Hi Carson,

Thanks for your reply. Unfortunately it is not available when I try to retrieve it in onViewCreated, when the MobileRTCVideoView has definitely been created. I am trying to get it from various callbacks but cannot seem to reliably get it from any callback unless i post a delay. I checked the example you provided and it seems like it is called from many callbacks and always just safe-guarded by a null check. It seems like in the sample it is usually available because the SDK is initialized long before the user enters MyMeetingActivity, but ideally in an app that isn’t dedicated to Zoom-only functionality, we initialize the SDK only when needed. Is there no callback where we are guaranteed to have it available?

I am really having trouble untangling the lifecycle of initialization/authentication/meetings and when each component becomes available. Is there a diagram that illustrates the lifecycle of these components? I think that would be a huge help to developers implementing custom functionality.

Thanks very much in advance!!