Filter and Collections - mayurparmar2/AlarmDemo GitHub Wiki
CalDAVHelper.kt
@JvmStatic
fun filterListUnique(events: List<Event>): List<Event> {
val eventIds = events.groupBy { it.eventId }
eventIds.forEach {
Log.e(TAG, "filterListUnique 111: " + it.value.size)
}
val filteredEvents = eventIds.flatMap { entry ->
if (entry.value.size > 1) {
entry.value.forEach {
Log.e(TAG, "filterListUnique 222: " + it)
}
var editableEvent = entry.value.filter { it.isEditable }
if (editableEvent.isNotEmpty()) {
editableEvent
} else {
listOf(entry.value.first())
}
} else {
entry.value
}
}
return filteredEvents.distinctBy { it.eventId }
}