2018-10-22 17:36:29 +00:00
|
|
|
package im.vector.matrix.android.api.session.events.model
|
|
|
|
|
2018-10-23 16:25:28 +00:00
|
|
|
data class EnrichedEvent(val root: Event) {
|
2018-10-22 17:36:29 +00:00
|
|
|
|
2018-10-31 10:22:42 +00:00
|
|
|
val metadata = HashMap<String, Any>()
|
2018-10-22 17:36:29 +00:00
|
|
|
|
|
|
|
fun enrichWith(events: List<Event>) {
|
|
|
|
events.forEach { enrichWith(it) }
|
|
|
|
}
|
|
|
|
|
|
|
|
fun enrichWith(event: Event?) {
|
|
|
|
if (event == null) {
|
|
|
|
return
|
|
|
|
}
|
2018-10-31 10:22:42 +00:00
|
|
|
enrichWith(event.type, event)
|
2018-10-22 17:36:29 +00:00
|
|
|
}
|
|
|
|
|
2018-10-31 10:22:42 +00:00
|
|
|
fun enrichWith(key: String, data: Any) {
|
|
|
|
if (!metadata.containsKey(key)) {
|
|
|
|
metadata[key] = data
|
|
|
|
}
|
2018-10-22 17:36:29 +00:00
|
|
|
}
|
|
|
|
|
2018-10-31 10:22:42 +00:00
|
|
|
inline fun <reified T> getMetadata(key: String): T? {
|
|
|
|
return metadata[key] as T?
|
2018-10-22 17:36:29 +00:00
|
|
|
}
|
|
|
|
|
2018-10-31 10:22:42 +00:00
|
|
|
companion object {
|
|
|
|
const val IS_LAST_EVENT = "IS_LAST_EVENT"
|
|
|
|
const val READ_RECEIPTS = "READ_RECEIPTS"
|
2018-10-22 17:36:29 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|