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

Reply via email to