After clearing memory, only trigger liveData when it actually changed.
This commit is contained in:
@@ -310,6 +310,12 @@ open class Note(val idHex: String) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun removeAllChildNotes(): List<Note> {
|
fun removeAllChildNotes(): List<Note> {
|
||||||
|
val repliesChanged = replies.isNotEmpty()
|
||||||
|
val reactionsChanged = reactions.isNotEmpty()
|
||||||
|
val zapsChanged = zaps.isNotEmpty() || zapPayments.isNotEmpty()
|
||||||
|
val boostsChanged = boosts.isNotEmpty()
|
||||||
|
val reportsChanged = reports.isNotEmpty()
|
||||||
|
|
||||||
val toBeRemoved =
|
val toBeRemoved =
|
||||||
replies +
|
replies +
|
||||||
reactions.values.flatten() +
|
reactions.values.flatten() +
|
||||||
@@ -330,11 +336,11 @@ open class Note(val idHex: String) {
|
|||||||
relays = listOf<RelayBriefInfoCache.RelayBriefInfo>()
|
relays = listOf<RelayBriefInfoCache.RelayBriefInfo>()
|
||||||
lastReactionsDownloadTime = emptyMap()
|
lastReactionsDownloadTime = emptyMap()
|
||||||
|
|
||||||
liveSet?.innerReplies?.invalidateData()
|
if (repliesChanged) liveSet?.innerReplies?.invalidateData()
|
||||||
liveSet?.innerReactions?.invalidateData()
|
if (reactionsChanged) liveSet?.innerReactions?.invalidateData()
|
||||||
liveSet?.innerBoosts?.invalidateData()
|
if (boostsChanged) liveSet?.innerBoosts?.invalidateData()
|
||||||
liveSet?.innerReports?.invalidateData()
|
if (reportsChanged) liveSet?.innerReports?.invalidateData()
|
||||||
liveSet?.innerZaps?.invalidateData()
|
if (zapsChanged) liveSet?.innerZaps?.invalidateData()
|
||||||
|
|
||||||
return toBeRemoved
|
return toBeRemoved
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user