Zoom call crash when receiving/initiating a call on Tablet devices

Description
I have used custom activity by extending Zoom MeetingActivity class and used different layout files for normal and tablet devices

class ZoomCustomUIActivity : MeetingActivity() {
// overrides the zoom sdk method
override fun getLayout(): Int {
    return if (ZmUIUtils.isLargeScreen(this)) R.layout.activity_zoom_custom_layout_large
    else R.layout.activity_zoom_custom_layout
}

The activity_zoom_custom_layout_large xml layout file contains below code

<FrameLayout>
    <include
          android:id="@+id/meetingContent"
          layout="@layout/zm_conf_main_screen_large"
          android:layout_width="match_parent"
          android:layout_height="match_parent" /> </FrameLayout>

The activity_zoom_custom_layout xml layout file contains below code

<FrameLayout>

    <include
        android:id="@+id/meetingContent"
        layout="@layout/zm_conf_main_screen"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</FrameLayout>

When initiating/Receiving a zoom call in Tablet devices causing crashing, crash info is as follows

   java.lang.RuntimeException: Unable to start activity ComponentInfo{com.pulsara.dev.debug/com.pulsara.ui.screens.call.ZoomCustomUIActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setVisibility(int)' on a null object reference
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3270)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setVisibility(int)' on a null object reference
        at com.zipow.videobox.confapp.meeting.confhelper.BOComponent.<init>(BOComponent.java:88)
        at com.zipow.videobox.ConfActivityNormal.onCreate(ConfActivityNormal.java:669)
        at us.zoom.sdk.MeetingActivity.onCreate(MeetingActivity.java:30)
        at com.pulsara.ui.screens.call.ZoomCustomUIActivity.onCreate(ZoomCustomUIActivity.kt:146)
        at android.app.Activity.performCreate(Activity.java:7802)
        at android.app.Activity.performCreate(Activity.java:7791)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1299)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3245)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409) 
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83) 
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2016) 
        at android.os.Handler.dispatchMessage(Handler.java:107) 
        at android.os.Looper.loop(Looper.java:214) 
        at android.app.ActivityThread.main(ActivityThread.java:7356) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 

Is there any change in Zoom default UI (between zm_conf_main_screen_large and zm_conf_main_screen) for Tablet and normal devices when Zoom call connects?

I have modified the getLayout() method to,

override fun getLayout(): Int = R.layout.activity_zoom_custom_layout

and now the crash is not happening. So with the modified approach Zoom SDK will use the same layout.activity_zoom_custom_layout xml file for both Tablet and normal devices if I am not wrong. Could you please confirm this?

Which Android Client SDK version?
v5.4.3.613

Smartphone (please complete the following information):

  • Device: Samsung Tab A(Android OS 10), Galaxy Tab A7(Android OS 10), Pixel C (Android OS 10)

Hi @venkateswara.ponugot, thanks for the post.

As far as I can tell, the layout for tablets and phones is identical. Please let me know if you have any additional questions regarding this. :slightly_smiling_face:

Thanks!

Hi @venkateswara.ponugot zm_conf_main_screen_large.xml is deprecated, please use zm_conf_main_screen for all devices

@donny.bao @jon.zoom
Thanks for the update.

Glad we could help!

Please don’t hesitate to reach out in a new thread if you experience any other issues. :slightly_smiling_face:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.