diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt index 608939c9b..17af43313 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/EventActivity.kt @@ -30,6 +30,7 @@ import java.util.regex.Pattern class EventActivity : SimpleActivity() { private val LAT_LON_PATTERN = "^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?)([,;])\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)\$" + private val EVENT = "EVENT" private val START_TS = "START_TS" private val END_TS = "END_TS" private val REMINDER_1_MINUTES = "REMINDER_1_MINUTES" @@ -183,6 +184,7 @@ class EventActivity : SimpleActivity() { } outState.apply { + putSerializable(EVENT, mEvent) putLong(START_TS, mEventStartDateTime.seconds()) putLong(END_TS, mEventEndDateTime.seconds()) @@ -207,6 +209,7 @@ class EventActivity : SimpleActivity() { } savedInstanceState.apply { + mEvent = getSerializable(EVENT) as Event mEventStartDateTime = Formatter.getDateTimeFromTS(getLong(START_TS)) mEventEndDateTime = Formatter.getDateTimeFromTS(getLong(END_TS)) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/CalDAVHelper.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/CalDAVHelper.kt index aecb99df2..c08609aef 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/CalDAVHelper.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/CalDAVHelper.kt @@ -8,6 +8,7 @@ import android.database.Cursor import android.provider.CalendarContract import android.provider.CalendarContract.Reminders import android.util.SparseIntArray +import com.simplemobiletools.calendar.pro.R import com.simplemobiletools.calendar.pro.extensions.* import com.simplemobiletools.calendar.pro.models.CalDAVCalendar import com.simplemobiletools.calendar.pro.models.Event @@ -318,11 +319,16 @@ class CalDAVHelper(val context: Context) { private fun setupCalDAVEventReminders(event: Event) { clearEventReminders(event) event.getReminders().forEach { - ContentValues().apply { + val contentValues = ContentValues().apply { put(Reminders.MINUTES, it) put(Reminders.EVENT_ID, event.getCalDAVEventId()) put(Reminders.METHOD, Reminders.METHOD_ALERT) - context.contentResolver.insert(Reminders.CONTENT_URI, this) + } + + try { + context.contentResolver.insert(Reminders.CONTENT_URI, contentValues) + } catch (e: Exception) { + context.toast(R.string.unknown_error_occurred) } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/EventsHelper.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/EventsHelper.kt index 428b71537..9bd2d4d8a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/EventsHelper.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/EventsHelper.kt @@ -3,6 +3,7 @@ package com.simplemobiletools.calendar.pro.helpers import android.app.Activity import android.content.Context import androidx.collection.LongSparseArray +import com.simplemobiletools.calendar.pro.R import com.simplemobiletools.calendar.pro.extensions.* import com.simplemobiletools.calendar.pro.models.Event import com.simplemobiletools.calendar.pro.models.EventType @@ -246,7 +247,7 @@ class EventsHelper(val context: Context) { events.forEach { it.updateIsPastEvent() - it.color = eventTypeColors.get(it.eventType)!! + it.color = eventTypeColors.get(it.eventType) ?: context.resources.getColor(R.color.color_primary) } callback(events)