diff --git a/app/src/main/java/com/vitorpamplona/amethyst/model/Note.kt b/app/src/main/java/com/vitorpamplona/amethyst/model/Note.kt index 77f380b3c..e6ba7ee95 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/model/Note.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/model/Note.kt @@ -310,6 +310,12 @@ open class Note(val idHex: String) { } fun removeAllChildNotes(): List { + val repliesChanged = replies.isNotEmpty() + val reactionsChanged = reactions.isNotEmpty() + val zapsChanged = zaps.isNotEmpty() || zapPayments.isNotEmpty() + val boostsChanged = boosts.isNotEmpty() + val reportsChanged = reports.isNotEmpty() + val toBeRemoved = replies + reactions.values.flatten() + @@ -330,11 +336,11 @@ open class Note(val idHex: String) { relays = listOf() lastReactionsDownloadTime = emptyMap() - liveSet?.innerReplies?.invalidateData() - liveSet?.innerReactions?.invalidateData() - liveSet?.innerBoosts?.invalidateData() - liveSet?.innerReports?.invalidateData() - liveSet?.innerZaps?.invalidateData() + if (repliesChanged) liveSet?.innerReplies?.invalidateData() + if (reactionsChanged) liveSet?.innerReactions?.invalidateData() + if (boostsChanged) liveSet?.innerBoosts?.invalidateData() + if (reportsChanged) liveSet?.innerReports?.invalidateData() + if (zapsChanged) liveSet?.innerZaps?.invalidateData() return toBeRemoved }