Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -976,17 +976,10 @@ object ApplicationController : ApplicationControllerInterface, EventMovedHandler
): SnoozeResult? {
if (eventKeys.isEmpty()) return null

// Parse event keys into (eventId, instanceStartTime) pairs
val keyPairs = eventKeys.mapNotNull { key ->
val parts = key.split(":")
if (parts.size == 2) {
val eventId = parts[0].toLongOrNull()
val instanceStartTime = parts[1].toLongOrNull()
if (eventId != null && instanceStartTime != null) {
Pair(eventId, instanceStartTime)
} else null
} else null
}.toSet()
// Parse event keys into (eventId, instanceStartTime) pairs using the shared format
val keyPairs = eventKeys.mapNotNull { EventAlertRecordKey.fromIntentString(it) }
.map { Pair(it.eventId, it.instanceStartTime) }
.toSet()

return snoozeEvents(context, { event ->
keyPairs.contains(Pair(event.eventId, event.instanceStartTime))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,22 @@ fun Long.setFlag(flag: Long, value: Boolean)
else
this and flag.inv()

data class EventAlertRecordKey(val eventId: Long, val instanceStartTime: Long)
data class EventAlertRecordKey(val eventId: Long, val instanceStartTime: Long) {

/** Serialize for Intent extras */
fun toIntentString(): String = "$eventId:$instanceStartTime"

companion object {
/** Parse from Intent extras */
fun fromIntentString(key: String): EventAlertRecordKey? {
val parts = key.split(":")
if (parts.size != 2) return null
val eventId = parts[0].toLongOrNull() ?: return null
val instanceStartTime = parts[1].toLongOrNull() ?: return null
return EventAlertRecordKey(eventId, instanceStartTime)
}
}
}

data class EventAlertRecord(
val calendarId: Long,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ class ActiveEventsFragment : Fragment(), EventListCallback, SearchableFragment,
val isChange = !hasActiveEvents

// Pass selected event keys to SnoozeAllActivity via intent
val eventKeys = selectedEvents.map { "${it.eventId}:${it.instanceStartTime}" }.toTypedArray()
val eventKeys = selectedEvents.map { it.key.toIntentString() }.toTypedArray()

// Get filter/search context for display
val filterState = getFilterState()
Expand Down
Loading