Ignore "zero" birthdays
Closed this issue · 3 comments
Thank you @m-i-n-a-r for a great application!
I have a large number of contacts that accumulated over a long time. For dozens of these contacts, when I display them in Google Contacts (desktop) the birthday field shows an empty string:
After manually editing the contact and finally removing the birthday, the same contact correctly shows an "Add Birthday" link:
Birday imports contacts of the first type as a Unix "zero" date, i.e. Jan. 1, 1970. It would be great if it just ignored those contacts during import, as it does when the birthday is absent.
Mhh I didn't know such a case could even exist, thanks for letting me know. I have to find a way to ignore those contacts safely, I can't just ignore any event on January 1 1970 obviously. I'll look into it!
Did some poking around. Unfortunately the relevant line:
val birthday: String = eventCursor.getString(0)
comes back with "1970-01-01".
The only hint I found (I don't know anything about Android databases): when I export these values to vCard, correct birthdays are:
BDAY:19671114
and corrupted ones are all
BDAY;VALUE=text:
I believe the conversion to 1970-01-01 happens when contacts are read into Android, because:
- On the Android Contacts app, they look just like any other contact, and
- I went through the entire raw associated with the event, and I see no column that correlates with corrupted events.
If this is true, then this cannot be fixed in the app.
I will take care of the contacts manually and I suggest to close the issue.