[ https://issues.apache.org/jira/browse/CB-12326?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15879638#comment-15879638
]
ASF GitHub Bot commented on CB-12326:
-------------------------------------
Github user filmaj commented on the issue:
https://github.com/apache/cordova-plugin-contacts/pull/146
It _does_ look like [iOS returns label information](https://github.com/apache/cordova-plugin-contacts/blob/master/src/ios/CDVContact.h#L92)
in contacts, so there is precedent to enhance Android to do that as well.
> Adding the missing "LABEL" CommonDataKinds columns to the ContactAccessorSdk5 to
fix the app crash issue.
@mad-nuts can you elaborate on what 'the app crash issue' is? I'm curious what scenario
caused a crash.
@infil00p if you have a moment, take a look at the generic try/catch flow this pull request
introduces and let us know if you have any comments on that.
> Crash on Android: CommonDataKinds.*.LABEL
> -----------------------------------------
>
> Key: CB-12326
> URL: https://issues.apache.org/jira/browse/CB-12326
> Project: Apache Cordova
> Issue Type: Bug
> Components: Plugin Contacts
> Environment: Android: Samsung Galaxy S6
> Reporter: Andreas
> Priority: Critical
> Labels: Android, crash, reproduced
>
> The ContactAccessorSdk5 is missing the "LABEL" CommonDataKinds column definition for
multple Cursors, causing the "search" function to crash.
> {code:title=is|borderStyle=solid}
> if (isRequired("emails", populate)) {
> columnsToFetch.add(CommonDataKinds.Email._ID);
> columnsToFetch.add(CommonDataKinds.Email.DATA);
> columnsToFetch.add(CommonDataKinds.Email.TYPE);
> }
> {code}
> {code:title=should be|borderStyle=solid}
> if (isRequired("emails", populate)) {
> columnsToFetch.add(CommonDataKinds.Email._ID);
> columnsToFetch.add(CommonDataKinds.Email.DATA);
> columnsToFetch.add(CommonDataKinds.Email.TYPE);
> columnsToFetch.add(CommonDataKinds.Email.LABEL);
> }
> {code}
> missing columns are:
> - CommonDataKinds.Phone.LABEL
> - CommonDataKinds.Email.LABEL
> - CommonDataKinds.StructuredPostal.LABEL
> - CommonDataKinds.Organization.LABEL
> - CommonDataKinds.Website.LABEL
> 01-06 13:43:03.871 7333 7527 E AndroidRuntime: java.lang.IllegalStateException: Couldn't
read row 174, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before
accessing data from it.
> 01-06 13:43:03.871 7333 7527 E AndroidRuntime: at android.database.CursorWindow.nativeGetString(Native
Method)
> 01-06 13:43:03.871 7333 7527 E AndroidRuntime: at android.database.CursorWindow.getString(CursorWindow.java:451)
> 01-06 13:43:03.871 7333 7527 E AndroidRuntime: at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:51)
> 01-06 13:43:03.871 7333 7527 E AndroidRuntime: at android.database.CursorWrapper.getString(CursorWrapper.java:137)
> 01-06 13:43:03.871 7333 7527 E AndroidRuntime: at org.apache.cordova.contacts.ContactAccessorSdk5.emailQuery(ContactAccessorSdk5.java:900)
> 01-06 13:43:03.871 7333 7527 E AndroidRuntime: at org.apache.cordova.contacts.ContactAccessorSdk5.populateContactArray(ContactAccessorSdk5.java:428)
> 01-06 13:43:03.871 7333 7527 E AndroidRuntime: at org.apache.cordova.contacts.ContactAccessorSdk5.search(ContactAccessorSdk5.java:287)
> 01-06 13:43:03.871 7333 7527 E AndroidRuntime: at org.apache.cordova.contacts.ContactManager$3.run(ContactManager.java:209)
> 01-06 13:43:03.871 7333 7527 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
> 01-06 13:43:03.871 7333 7527 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
> 01-06 13:43:03.871 7333 7527 E AndroidRuntime: at java.lang.Thread.run(Thread.java:818)
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org
|