Description
When a user is in a zoom meeting on an android tablet, our app will crash whenever a poll is launched in that meeting. Below is the full stack trace. As you’ll see it refers to setting the colorSurface attribute in our app theme, however the crash still occurs even after we do this. The crash is not reproducible on the sample app.
Fatal Exception: java.lang.IllegalArgumentException: com.google.android.material.dialog.MaterialAlertDialogBuilder requires a value for the com.my.app:attr/colorSurface attribute to be set in your app theme. You can either set the attribute in your theme or update your theme to inherit from Theme.MaterialComponents (or a descendant).
at com.google.android.material.resources.MaterialAttributes.resolveOrThrow(MaterialAttributes.java:69)
at com.google.android.material.color.MaterialColors.getColor(MaterialColors.java:66)
at com.google.android.material.dialog.MaterialAlertDialogBuilder.<init>(MaterialAlertDialogBuilder.java:120)
at com.google.android.material.dialog.MaterialAlertDialogBuilder.<init>(MaterialAlertDialogBuilder.java:103)
at us.zoom.androidlib.utils.ZmDialogUtils.createDialogForTablet(ZmDialogUtils.java:145)
at com.zipow.videobox.view.h2.onCreateDialog(ZmTabletPollingFragment.java:1)
at androidx.fragment.app.DialogFragment.prepareDialog(DialogFragment.java:644)
at androidx.fragment.app.DialogFragment.onGetLayoutInflater(DialogFragment.java:558)
at androidx.fragment.app.Fragment.performGetLayoutInflater(Fragment.java:1654)
at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:493)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:282)
at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112)
at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1647)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3128)
at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3072)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:251)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:502)
at us.zoom.androidlib.app.ZMActivity.onStart(ZMActivity.java:644)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1435)
at android.app.Activity.performStart(Activity.java:8024)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3475)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
Which Android Meeting SDK version?
5.9.3, 5.9.1.3674, 5.9.1
To Reproduce(If applicable)
- Start a meeting from the desktop zoom client
- Join the meeting in our app from an android tablet
- Launch a poll from the desktop client (app on android tablet will crash)
Smartphone (please complete the following information):
From our logs it has happened on lots of Samsung tablets as well as Amazon tablets. Additionally we’ve reproduced it using a Nexus 7 emulator.
Thanks in advance for your help.