diff --git a/app/src/main/kotlin/org/fossify/calendar/activities/MainActivity.kt b/app/src/main/kotlin/org/fossify/calendar/activities/MainActivity.kt index 33d337f35..bb04b570b 100644 --- a/app/src/main/kotlin/org/fossify/calendar/activities/MainActivity.kt +++ b/app/src/main/kotlin/org/fossify/calendar/activities/MainActivity.kt @@ -914,13 +914,21 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { contacts.forEach { contact -> val events = if (birthdays) contact.birthdays else contact.anniversaries events.forEach { birthdayAnniversary -> + var missingYear = false // private contacts are created in Simple Contacts Pro, so we can guarantee that they exist only in these 2 formats val format = if (birthdayAnniversary.startsWith("--")) { + missingYear = true "--MM-dd" } else { "yyyy-MM-dd" } + var flags = if (missingYear) { + FLAG_ALL_DAY or FLAG_MISSING_YEAR + } else { + FLAG_ALL_DAY + } + val formatter = SimpleDateFormat(format, Locale.getDefault()) val date = formatter.parse(birthdayAnniversary) @@ -928,7 +936,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { val lastUpdated = System.currentTimeMillis() val event = Event( null, timestamp, timestamp, contact.name, reminder1Minutes = reminders[0], reminder2Minutes = reminders[1], - reminder3Minutes = reminders[2], importId = contact.contactId.toString(), timeZone = DateTimeZone.getDefault().id, flags = FLAG_ALL_DAY, + reminder3Minutes = reminders[2], importId = contact.contactId.toString(), timeZone = DateTimeZone.getDefault().id, flags = flags, repeatInterval = YEAR, repeatRule = REPEAT_SAME_DAY, eventType = eventTypeId, source = source, lastUpdated = lastUpdated )