From ea8affaebfb9f6b993b2d773020f9ec23449bfe8 Mon Sep 17 00:00:00 2001 From: Believethehype <1097224+believethehype@users.noreply.github.com> Date: Tue, 14 May 2024 22:01:03 +0200 Subject: [PATCH] general (unpolished) workflow works --- .../ui/dal/NIP90ContentDiscoveryFilter.kt | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/NIP90ContentDiscoveryFilter.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/NIP90ContentDiscoveryFilter.kt index e0c42b4f5..e57924843 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/NIP90ContentDiscoveryFilter.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/NIP90ContentDiscoveryFilter.kt @@ -61,14 +61,17 @@ open class NIP90ContentDiscoveryFilter( var eventContent = note.event?.content() - var collection: Set = setOf() + var collection: HashSet = hashSetOf() val mapper = jacksonObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) var json = mapper.readValue(eventContent, Array::class.java) for (element in json) { // var test = mapper.readValue(element.toString(), Array::class.java) // TODO. This is ugly. how to Kotlin? var id = element.toString().trimStart('[').trimStart('e').trimStart(',').trimEnd(']').trimStart().trimEnd() - collection + id + var note = LocalCache.checkGetOrCreateNote(id) + if (note != null) { + collection.add(note) + } } return sort(collection) @@ -101,13 +104,13 @@ open class NIP90ContentDiscoveryFilter( // TODO. We want to parse the content of the latest event to ids and get the nodes from these ids - /* var sorted = sort(notes) + var sorted = sort(notes) if (sorted.isNotEmpty()) { var note = sorted.first() var eventContent = note.event?.content() - val collection: Set = setOf() + val collection: HashSet = hashSetOf() val mapper = jacksonObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false) var json = mapper.readValue(eventContent, Array::class.java) for (element in json) { @@ -115,17 +118,16 @@ open class NIP90ContentDiscoveryFilter( // TODO. This is ugly. how to Kotlin? var id = element.toString().trimStart('[').trimStart('e').trimStart(',').trimEnd(']').trimStart().trimEnd() - var note = LocalCache.getNoteIfExists(id) + var note = LocalCache.checkGetOrCreateNote(id) if (note != null) { - collection + note + collection.add(note) } } return collection } else { - return notes + return notes } - */ return notes }