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)