{"action":"created","issue":{"url":"https://api.github.com/repos/firebase/quickstart-android/issues/42","repository_url":"https://api.github.com/repos/firebase/quickstart-android","labels_url":"https://api.github.com/repos/firebase/quickstart-android/issues/42/labels{/name}","comments_url":"https://api.github.com/repos/firebase/quickstart-android/issues/42/comments","events_url":"https://api.github.com/repos/firebase/quickstart-android/issues/42/events","html_url":"https://github.com/firebase/quickstart-android/issues/42","id":158957106,"number":42,"title":"[invites] Invite button click crashes Google Play services with missing permission for android.permission.READ_CONTACTS","user":{"login":"friedger","id":1449049,"avatar_url":"https://avatars.githubusercontent.com/u/1449049?v=3","gravatar_id":"","url":"https://api.github.com/users/friedger","html_url":"https://github.com/friedger","followers_url":"https://api.github.com/users/friedger/followers","following_url":"https://api.github.com/users/friedger/following{/other_user}","gists_url":"https://api.github.com/users/friedger/gists{/gist_id}","starred_url":"https://api.github.com/users/friedger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/friedger/subscriptions","organizations_url":"https://api.github.com/users/friedger/orgs","repos_url":"https://api.github.com/users/friedger/repos","events_url":"https://api.github.com/users/friedger/events{/privacy}","received_events_url":"https://api.github.com/users/friedger/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-06-07T15:43:52Z","updated_at":"2016-06-09T11:10:59Z","closed_at":"2016-06-08T20:39:39Z","body":"The invite button does not work on Android 6.0.1, device A0001 due to a security exception after I clicked the button and selected an account. Please see below for the log:\r\n\r\n```\r\n06-07 17:40:15.586 26744-26755/? E/DatabaseUtils: Writing exception to parcel\r\n                                                  java.lang.SecurityException: Permission Denial: reading com.android.providers.contacts.ContactsProvider2 uri content://com.android.contacts/contacts from pid=27333, uid=10013 requires android.permission.READ_CONTACTS, or grantUriPermission()\r\n                                                      at android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:605)\r\n                                                      at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:480)\r\n                                                      at android.content.ContentProvider$Transport.query(ContentProvider.java:211)\r\n                                                      at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)\r\n                                                      at android.os.Binder.execTransact(Binder.java:453)\r\n06-07 17:40:15.613 27333-27333/? E/AndroidRuntime: FATAL EXCEPTION: main\r\n                                                   Process: com.google.android.gms.ui, PID: 27333\r\n                                                   java.lang.RuntimeException: Unable to resume activity {com.google.android.gms/com.google.android.gms.appinvite.AppInviteActivity}: java.lang.SecurityException: Permission Denial: reading com.android.providers.contacts.ContactsProvider2 uri content://com.android.contacts/contacts from pid=27333, uid=10013 requires android.permission.READ_CONTACTS, or grantUriPermission()\r\n                                                       at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3147)\r\n                                                       at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3178)\r\n                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1407)\r\n                                                       at android.os.Handler.dispatchMessage(Handler.java:102)\r\n                                                       at android.os.Looper.loop(Looper.java:148)\r\n                                                       at android.app.ActivityThread.main(ActivityThread.java:5466)\r\n                                                       at java.lang.reflect.Method.invoke(Native Method)\r\n                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)\r\n                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)\r\n                                                    Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.contacts.ContactsProvider2 uri content://com.android.contacts/contacts from pid=27333, uid=10013 requires android.permission.READ_CONTACTS, or grantUriPermission()\r\n                                                       at android.os.Parcel.readException(Parcel.java:1620)\r\n                                                       at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)\r\n                                                       at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)\r\n                                                       at android.content.ContentProviderProxy.query(ContentProviderNative.java:421)\r\n                                                       at android.content.ContentResolver.query(ContentResolver.java:493)\r\n                                                       at android.content.ContentResolver.query(ContentResolver.java:435)\r\n                                                       at dxl.<init>(SourceFile:109)\r\n                                                       at dxl.<init>(SourceFile:85)\r\n                                                       at dvq.onStart(SourceFile:10897)\r\n                                                       at com.google.android.chimera.FragmentProxy.onStart(SourceFile:425)\r\n                                                       at android.support.v4.app.Fragment.performStart(SourceFile:1986)\r\n                                                       at ex.a(SourceFile:1102)\r\n                                                       at ex.a(SourceFile:1248)\r\n                                                       at dy.run(SourceFile:738)\r\n                                                       at ex.i(SourceFile:1613)\r\n                                                       at es.c(SourceFile:330)\r\n                                                       at en.onResume(SourceFile:441)\r\n                                                       at com.google.android.chimera.container.ActivityProxy.superOnResume(SourceFile:2373)\r\n                                                       at com.google.android.chimera.Activity.onResume(SourceFile:357)\r\n                                                       at com.google.android.chimera.Activity.publicOnResume(SourceFile:362)\r\n                                                       at com.google.android.chimera.container.ActivityProxy.onResume(SourceFile:294)\r\n                                                       at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1259)\r\n                                                       at android.app.Activity.performResume(Activity.java:6327)\r\n                                                       at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3136)\r\n                                                       at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3178) \r\n                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1407) \r\n                                                       at android.os.Handler.dispatchMessage(Handler.java:102) \r\n                                                       at android.os.Looper.loop(Looper.java:148) \r\n                                                       at android.app.ActivityThread.main(ActivityThread.java:5466) \r\n                                                       at java.lang.reflect.Method.invoke(Native Method) \r\n                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) \r\n                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) \r\n```"},"comment":{"url":"https://api.github.com/repos/firebase/quickstart-android/issues/comments/224865234","html_url":"https://github.com/firebase/quickstart-android/issues/42#issuecomment-224865234","issue_url":"https://api.github.com/repos/firebase/quickstart-android/issues/42","id":224865234,"user":{"login":"friedger","id":1449049,"avatar_url":"https://avatars.githubusercontent.com/u/1449049?v=3","gravatar_id":"","url":"https://api.github.com/users/friedger","html_url":"https://github.com/friedger","followers_url":"https://api.github.com/users/friedger/followers","following_url":"https://api.github.com/users/friedger/following{/other_user}","gists_url":"https://api.github.com/users/friedger/gists{/gist_id}","starred_url":"https://api.github.com/users/friedger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/friedger/subscriptions","organizations_url":"https://api.github.com/users/friedger/orgs","repos_url":"https://api.github.com/users/friedger/repos","events_url":"https://api.github.com/users/friedger/events{/privacy}","received_events_url":"https://api.github.com/users/friedger/received_events","type":"User","site_admin":false},"created_at":"2016-06-09T11:10:59Z","updated_at":"2016-06-09T11:10:59Z","body":"It looks like that this has been fixed by an update of CM 13 (MHC19Q). At least I can't reproduce. Google Play Services do respect the permissions and does not show any suggestions if permissions are revoked.\r\n\r\nMy guess is that Privacy Guard did not communicate the permission correctly."}}
{"actor":{"display_login":"friedger"}}