Android Tablet Crash During Polls

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)

  1. Start a meeting from the desktop zoom client
  2. Join the meeting in our app from an android tablet
  3. 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.

Hi @dan1994,

Can you please provide a list of the devices with make/model/Android version on which this crash is present?

Thanks!

Hi @jon.lieblich ,

Thanks for the reply. Below are some of the devices where the crash has occurred. There are more. Feel free to let me know if having the complete list would help.

  • Galaxy Tab S5e (Android 11)
  • Galaxy Tab A7 (Android 11)
  • Galaxy Tab A (8.0", 2019) (Android 11)
  • Amazon Fire HD 8 (Android 9)
  • Galaxy Tab S6 (Android 11)
  • Nexus 7 Emulator (Android 11)
  • LG G Pad III 8.0 (Android 7)
  • Chromebook Plus (V2) (Android 9)
  • Intel Gemini Lake Chromebook (Android 9)
  • HUAWEI MediaPad T5 (Android 8)

Hi @jon.lieblich ,

I’m just following up on this to see if there’s any update on this issue. Of course please let me know if there’s any additional information I could provide to help get the issue resolved.

Thanks a lot

Hi @dan1994,

Thanks for the additional information. I have not been able to reproduce this crash yet. I’m wondering if it might be the result of mismatched dependency versions. Can you please provide the SDK dependencies included in your project so we can verify whether or not that is the case?

Thanks!

Hi @jon.lieblich ,

Thanks for the reply. Below are the sdk dependencies included in our project.

androidx.security:security-crypto:1.1.0-alpha03
com.google.crypto.tink:tink-android:1.5.0
com.google.android.exoplayer:exoplayer-core:2.13.3
com.google.android.exoplayer:exoplayer-ui:2.13.3
androidx.swiperefreshlayout:swiperefreshlayout:1.1.0
androidx.appcompat:appcompat:1.4.0
androidx.constraintlayout:constraintlayout:2.1.2
com.google.android.material:material:1.4.0
'com.google.android.flexbox:flexbox:3.0.0'
'androidx.multidex:multidex:2.0.1'
"com.google.code.gson:gson:2.8.6"
com.github.bumptech.glide:annotations:4.12.0
com.github.bumptech.glide:glide:4.12.0
androidx.recyclerview:recyclerview:1.2.1
com.airbnb.android:lottie:4.0.0
androidx.window:window:1.0.0-alpha06
com.google.android.material:material:1.4.0
androidx.window:window-java:1.0.0-beta03
org.jetbrains.kotlin:kotlin-stdlib:1.5.21
androidx.core:core-ktx:1.7.0
androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0
androidx.lifecycle:lifecycle-runtime-ktx:2.4.0

Hi @dan1994,

Thanks for providing that. There are indeed mismatched versions being used in your project. Can you please try changing your versioning to match the SDK based on the versions listed below and see if it resolves the crash?

  • androidx.appcompat:appcompat:1.4.0 → 1.3.1
  • androidx.constraintlayout:constraintlayout:2.1.2 → 2.1.0
  • “com.google.code.gson:gson:2.8.6” → 2.8.1
  • com.github.bumptech.glide:annotations:4.12.0 → 4.11.0
  • com.github.bumptech.glide:glide:4.12.0 → 4.11.0
  • androidx.core:core-ktx:1.7.0 → 1.6.0

Thanks!

Hi @jon.lieblich ,

Thanks for the suggestion. Unfortunately the crash still occurs after changing the dependencies you mentioned.

Hi @dan1994,

Thanks for giving that a try. It isn’t clear what is causing this crash yet. Would you be able to provide some additional context around your implementation and/or a simple demo app in which the crash is reproducible?

Thanks!

Hi @jon.lieblich ,

Thanks for the reply. What information around our implementation would be useful to you?

Thanks a lot.

Hi @dan1994,

Really any information you can provide around your usages of the SDK would be useful, since we don’t have any context right now. Some examples of useful information:

  • Whether you are using a custom meeting UI
  • If you’re using the default UI, are you using your own MeetingActivity instance?
  • Any meeting settings being used that might differ from the implementation in the SDK sample app
  • A simple demo app in which the crash is reproducible

Thanks!

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