READ_CONTACTS or WRITE_CONTACTS now required?

Recently, we:

  1. Updated to the latest Android SDK (according to the Github repo).

  2. Changed our target and compile SDK version to 27 from 14.

Now, when leaving a Zoom meeting where there are other participants (i.e. NOT when leaving a meeting where we’re still waiting for host), we get the following error after the Zoom activity closes:

java.lang.SecurityException: Permission Denial: opening provider com.android.providers.contacts.ContactsProvider2 from ProcessRecord{b7ca11 29152:com.kaizena.android.livesampleapp_androidstudio:zoom_meeting/u0a131} (pid=29152, uid=10131) requires android.permission.READ_CONTACTS or android.permission.WRITE_CONTACTS
at android.os.Parcel.readException(Parcel.java:1943)
at android.os.Parcel.readException(Parcel.java:1889)
at android.content.IContentService$Stub$Proxy.registerContentObserver(IContentService.java:768)
at android.content.ContentResolver.registerContentObserver(ContentResolver.java:1940)
at android.content.ContentResolver.registerContentObserver(ContentResolver.java:1929)
at com.zipow.videobox.ptapp.ABContactsCache.<init>(ABContactsCache.java:72)
at com.zipow.videobox.ptapp.ABContactsCache.getInstance(ABContactsCache.java:61)
at com.zipow.videobox.view.CallConnectingView.onDetachedFromWindow(CallConnectingView.java:172)
at android.view.View.dispatchDetachedFromWindow(View.java:17456)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3681)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3673)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3673)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3673)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3673)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3673)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3673)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3673)
at android.view.ViewRootImpl.dispatchDetachedFromWindow(ViewRootImpl.java:3498)
at android.view.ViewRootImpl.doDie(ViewRootImpl.java:6358)
at android.view.ViewRootImpl.die(ViewRootImpl.java:6335)
at android.view.WindowManagerGlobal.removeViewLocked(WindowManagerGlobal.java:464)
at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:402)
at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:125)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4525)
at android.app.ActivityThread.-wrap5(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1679)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782)

Looks like one solution is to add the READ_CONTACTS or WRITE_CONTACTS as permissions to our app, but we’d like to avoid this. Is there a way to not require these permissions?

We’re testing on an Android 8.0 device, and we’re building with AAPT2 disabled.

We have uploaded a new SDK version to github .Please use the latest Android SDK version to test this issue.

https://github.com/zoom/zoom-sdk-android

Thanks.