show proper toast message when updating individual repeatable instances
This commit is contained in:
parent
1c14ccc8f3
commit
4b2ebcafd3
|
@ -459,7 +459,14 @@ class EventActivity : SimpleActivity(), DBHelper.EventUpdateListener {
|
|||
}
|
||||
|
||||
if (mEvent.id == 0) {
|
||||
dbHelper.insert(mEvent)
|
||||
dbHelper.insert(mEvent) {
|
||||
if (DateTime.now().isAfter(mEventStartDateTime.millis)) {
|
||||
toast(R.string.past_event_added)
|
||||
} else {
|
||||
toast(R.string.event_added)
|
||||
}
|
||||
finish()
|
||||
}
|
||||
} else {
|
||||
if (mRepeatInterval > 0 && wasRepeatable) {
|
||||
EditRepeatingEventDialog(this) {
|
||||
|
@ -469,7 +476,10 @@ class EventActivity : SimpleActivity(), DBHelper.EventUpdateListener {
|
|||
dbHelper.addEventRepeatException(mEvent.id, mEventOccurrenceTS)
|
||||
mEvent.parentId = mEvent.id
|
||||
mEvent.id = 0
|
||||
dbHelper.insert(mEvent)
|
||||
dbHelper.insert(mEvent) {
|
||||
toast(R.string.event_updated)
|
||||
finish()
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -615,12 +625,7 @@ class EventActivity : SimpleActivity(), DBHelper.EventUpdateListener {
|
|||
}
|
||||
|
||||
override fun eventInserted(event: Event) {
|
||||
if (DateTime.now().isAfter(mEventStartDateTime.millis)) {
|
||||
toast(R.string.past_event_added)
|
||||
} else {
|
||||
toast(R.string.event_added)
|
||||
}
|
||||
finish()
|
||||
|
||||
}
|
||||
|
||||
override fun eventUpdated(event: Event) {
|
||||
|
|
|
@ -160,9 +160,11 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
|||
addEventType(eventType, db)
|
||||
}
|
||||
|
||||
fun insert(event: Event): Int {
|
||||
if (event.startTS > event.endTS || event.title.trim().isEmpty())
|
||||
return 0
|
||||
fun insert(event: Event, callback: (id: Int) -> Unit) {
|
||||
if (event.startTS > event.endTS || event.title.trim().isEmpty()) {
|
||||
callback(0)
|
||||
return
|
||||
}
|
||||
|
||||
val eventValues = fillEventValues(event)
|
||||
val id = mDb.insert(MAIN_TABLE_NAME, null, eventValues)
|
||||
|
@ -175,8 +177,7 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
|||
|
||||
context.updateWidgets()
|
||||
context.scheduleReminder(event, this)
|
||||
mEventsListener?.eventInserted(event)
|
||||
return event.id
|
||||
callback(event.id)
|
||||
}
|
||||
|
||||
fun update(event: Event) {
|
||||
|
@ -251,18 +252,26 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
|||
}
|
||||
}
|
||||
|
||||
private fun fillExceptionValues(parentEventId: Int, occurrenceTS: Int): ContentValues {
|
||||
val childEvent = getEventWithId(parentEventId) ?: return ContentValues()
|
||||
childEvent.id = 0
|
||||
childEvent.parentId = parentEventId
|
||||
childEvent.startTS = 0
|
||||
childEvent.endTS = 0
|
||||
val childId = insert(childEvent)
|
||||
private fun fillExceptionValues(parentEventId: Int, occurrenceTS: Int, callback: (values: ContentValues) -> Unit) {
|
||||
val childEvent = getEventWithId(parentEventId)
|
||||
if (childEvent == null) {
|
||||
callback(ContentValues())
|
||||
return
|
||||
}
|
||||
|
||||
return ContentValues().apply {
|
||||
childEvent.apply {
|
||||
id = 0
|
||||
parentId = parentEventId
|
||||
startTS = 0
|
||||
endTS = 0
|
||||
}
|
||||
|
||||
insert(childEvent) {
|
||||
callback(ContentValues().apply {
|
||||
put(COL_PARENT_EVENT_ID, parentEventId)
|
||||
put(COL_OCCURRENCE_DAYCODE, Formatter.getDayCodeFromTS(occurrenceTS))
|
||||
put(COL_CHILD_EVENT_ID, childId)
|
||||
put(COL_CHILD_EVENT_ID, it)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -320,8 +329,9 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
|||
}
|
||||
|
||||
fun addEventRepeatException(parentEventId: Int, occurrenceTS: Int) {
|
||||
val values = fillExceptionValues(parentEventId, occurrenceTS)
|
||||
mDb.insert(EXCEPTIONS_TABLE_NAME, null, values)
|
||||
fillExceptionValues(parentEventId, occurrenceTS) {
|
||||
mDb.insert(EXCEPTIONS_TABLE_NAME, null, it)
|
||||
}
|
||||
}
|
||||
|
||||
fun deleteEventTypes(ids: ArrayList<Int>, deleteEvents: Boolean, callback: (deletedCnt: Int) -> Unit) {
|
||||
|
|
|
@ -103,14 +103,14 @@ class IcsImporter {
|
|||
event.endTS -= DAY
|
||||
}
|
||||
|
||||
val eventId = context.dbHelper.insert(event)
|
||||
|
||||
context.dbHelper.insert(event) {
|
||||
for (exceptionTS in curRepeatExceptions) {
|
||||
context.dbHelper.addEventRepeatException(eventId, exceptionTS)
|
||||
context.dbHelper.addEventRepeatException(it, exceptionTS)
|
||||
}
|
||||
eventsImported++
|
||||
resetValues()
|
||||
}
|
||||
}
|
||||
prevLine = line
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue