[
https://issues.apache.org/jira/browse/CB-8115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15038416#comment-15038416
]
ASF GitHub Bot commented on CB-8115:
------------------------------------
Github user jasongin commented on a diff in the pull request:
https://github.com/apache/cordova-plugin-contacts/pull/95#discussion_r46598813
--- Diff: src/android/ContactAccessorSdk5.java ---
@@ -1854,6 +1859,39 @@ public boolean remove(String id) {
return (result > 0) ? true : false;
}
+ /**
+ * Gets birthday date from contact JSON object
+ * @param contact an object to get birthday from
+ * @return birthday or null, if the field isn't present or
+ * is malformed in the contact
+ */
+ private Date getBirthday(JSONObject contact) {
+ try {
+ Long timestamp = contact.getLong("birthday");
+ return new Date(timestamp);
+ } catch (JSONException e) {
+ Log.d(LOG_TAG, "Could not get birthday: " + e.getMessage());
+ return null;
+ }
+ }
+
+ /**
+ * Gets birthday from contacts database cursor object
+ * @param c cursor for the contact
+ * @return birthday or null, if birthday column is empty or
+ * the value can't be parsed into valid date object
+ */
+ private Date getBirthday(Cursor c) {
+ int colBirthday =
c.getColumnIndex(CommonDataKinds.Event.START_DATE);
+
+ try {
+ return Date.valueOf(c.getString(colBirthday));
+ } catch (IllegalArgumentException e) {
+ Log.d(LOG_TAG, "Failed to get birthday for contact: " +
e.getMessage());
--- End diff --
As explained previously: Log.e(LOG_TAG, "Failed... ", e);
> incorrect birthday saved to phonebook using Contacts Plugin
> -----------------------------------------------------------
>
> Key: CB-8115
> URL: https://issues.apache.org/jira/browse/CB-8115
> Project: Apache Cordova
> Issue Type: Bug
> Components: Plugin Contacts
> Affects Versions: 4.0.0
> Environment: Android and IOS
> Reporter: Kiran Jain
> Assignee: Vladimir Kotikov
> Priority: Minor
> Labels: Android, IOS, birthday, reproduced, triaged
>
> We are facing an issue while trying to add birthday to Contact while using
> Cordova for android while adding a new contact to the phonebook
> following is part of the code
> contact = navigator.contacts.create({
> "displayName": displayname
> });
> // store contact name
> var contactName = new ContactName();
> contactName.familyName = lastname;
> contactName.givenName = firstname
> contact.name = contactName;
> contact.birthday = new Date("16 May 1984");
> // save the contact
> contact.save();
> With above code, when data is viewed in android phone, the birthday is save
> as 29-12-6731 instead of expected 16-May-1984
> we have tried all possible combinations of date entry viz: 16-May-1984 ;
> 16/May/1984 ; 16/5/1984 ; new date(1984,05,16)
> but all in vain the results are the same.
> also need to know how to save anniversary date
> when using this plugin for IOS, the date saved is 15-May-1984 (1 day less
> than expected).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]