From 4d5a40f4ac7b4c3c4290ecfa2d3d877749df6097 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Fri, 27 Jan 2023 16:10:05 -0300 Subject: [PATCH] Avoids any crash in processing events. --- .../amethyst/service/NostrDataSource.kt | 40 ++++++++++--------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/NostrDataSource.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/NostrDataSource.kt index b77cb42c1..7828470c4 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/NostrDataSource.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/NostrDataSource.kt @@ -52,27 +52,31 @@ abstract class NostrDataSource(val debugName: String) { eventCounter.put(key, 1) } - //println("AAA ${debugName} ${subscriptionId} ${event.kind}") - when (event) { - is MetadataEvent -> LocalCache.consume(event) - is TextNoteEvent -> LocalCache.consume(event) - is RecommendRelayEvent -> LocalCache.consume(event) - is ContactListEvent -> LocalCache.consume(event) - is PrivateDmEvent -> LocalCache.consume(event) - is DeletionEvent -> LocalCache.consume(event) - is RepostEvent -> LocalCache.consume(event) - is ReactionEvent -> LocalCache.consume(event) - else -> when (event.kind) { - RepostEvent.kind -> LocalCache.consume(RepostEvent(event.id, event.pubKey, event.createdAt, event.tags, event.content, event.sig)) - ReactionEvent.kind -> LocalCache.consume(ReactionEvent(event.id, event.pubKey, event.createdAt, event.tags, event.content, event.sig)) + try { + when (event) { + is MetadataEvent -> LocalCache.consume(event) + is TextNoteEvent -> LocalCache.consume(event) + is RecommendRelayEvent -> LocalCache.consume(event) + is ContactListEvent -> LocalCache.consume(event) + is PrivateDmEvent -> LocalCache.consume(event) + is DeletionEvent -> LocalCache.consume(event) + is RepostEvent -> LocalCache.consume(event) + is ReactionEvent -> LocalCache.consume(event) + else -> when (event.kind) { + RepostEvent.kind -> LocalCache.consume(RepostEvent(event.id, event.pubKey, event.createdAt, event.tags, event.content, event.sig)) + ReactionEvent.kind -> LocalCache.consume(ReactionEvent(event.id, event.pubKey, event.createdAt, event.tags, event.content, event.sig)) - ChannelCreateEvent.kind -> LocalCache.consume(ChannelCreateEvent(event.id, event.pubKey, event.createdAt, event.tags, event.content, event.sig)) - ChannelMetadataEvent.kind -> LocalCache.consume(ChannelMetadataEvent(event.id, event.pubKey, event.createdAt, event.tags, event.content, event.sig)) - ChannelMessageEvent.kind -> LocalCache.consume(ChannelMessageEvent(event.id, event.pubKey, event.createdAt, event.tags, event.content, event.sig)) - ChannelHideMessageEvent.kind -> LocalCache.consume(ChannelHideMessageEvent(event.id, event.pubKey, event.createdAt, event.tags, event.content, event.sig)) - ChannelMuteUserEvent.kind -> LocalCache.consume(ChannelMuteUserEvent(event.id, event.pubKey, event.createdAt, event.tags, event.content, event.sig)) + ChannelCreateEvent.kind -> LocalCache.consume(ChannelCreateEvent(event.id, event.pubKey, event.createdAt, event.tags, event.content, event.sig)) + ChannelMetadataEvent.kind -> LocalCache.consume(ChannelMetadataEvent(event.id, event.pubKey, event.createdAt, event.tags, event.content, event.sig)) + ChannelMessageEvent.kind -> LocalCache.consume(ChannelMessageEvent(event.id, event.pubKey, event.createdAt, event.tags, event.content, event.sig)) + ChannelHideMessageEvent.kind -> LocalCache.consume(ChannelHideMessageEvent(event.id, event.pubKey, event.createdAt, event.tags, event.content, event.sig)) + ChannelMuteUserEvent.kind -> LocalCache.consume(ChannelMuteUserEvent(event.id, event.pubKey, event.createdAt, event.tags, event.content, event.sig)) + } } + } catch (e: Exception) { + e.printStackTrace() } + } }