[ 
https://issues.apache.org/jira/browse/CB-8115?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15035658#comment-15035658
 ] 

ASF GitHub Bot commented on CB-8115:
------------------------------------

Github user vladimir-kotikov commented on a diff in the pull request:

    
https://github.com/apache/cordova-plugin-contacts/pull/95#discussion_r46402705
  
    --- Diff: src/android/ContactAccessorSdk5.java ---
    @@ -451,7 +452,13 @@ else if 
(mimetype.equals(CommonDataKinds.Website.CONTENT_ITEM_TYPE)
                         else if 
(mimetype.equals(CommonDataKinds.Event.CONTENT_ITEM_TYPE)) {
                             if (isRequired("birthday", populate) &&
                                     CommonDataKinds.Event.TYPE_BIRTHDAY == 
c.getInt(colEventType)) {
    -                            contact.put("birthday", 
c.getString(colBirthday));
    +
    +                            try {
    +                                long timestamp = 
Date.valueOf(c.getString(colBirthday)).getTime();
    +                                contact.put("birthday", timestamp);
    +                            } catch (IllegalArgumentException e) {
    +                                Log.d(LOG_TAG, "Failed to get birthday for 
contact: " + e.getMessage());
    +                            }
    --- End diff --
    
    > Also, if there is an IllegalArgumentException, a birthday won't be set at 
all; is this what we define as expected behaviour for this plugin's API?
    
    I don't see any other appropriate options here. If there is an exception, 
this means that the date is probably malformed, and we can't convert it into a 
valid timestamp, which JS side expects to get. 


> 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]

Reply via email to