kopia lustrzana https://github.com/vitorpamplona/amethyst
Avoids double notifications.
rodzic
d92f23e274
commit
712063f5d2
|
@ -2306,6 +2306,10 @@ object LocalCache {
|
|||
e.printStackTrace()
|
||||
}
|
||||
}
|
||||
|
||||
fun hasConsumed(notificationEvent: Event): Boolean {
|
||||
return notes.containsKey(notificationEvent.id)
|
||||
}
|
||||
}
|
||||
|
||||
@Stable
|
||||
|
|
|
@ -64,9 +64,9 @@ class EventNotificationConsumer(private val applicationContext: Context) {
|
|||
account: Account,
|
||||
) {
|
||||
pushWrappedEvent.cachedGift(account.signer) { notificationEvent ->
|
||||
LocalCache.justConsume(notificationEvent, null)
|
||||
|
||||
if (!LocalCache.hasConsumed(notificationEvent) && LocalCache.justVerify(notificationEvent)) {
|
||||
unwrapAndConsume(notificationEvent, account) { innerEvent ->
|
||||
if (!LocalCache.hasConsumed(innerEvent)) {
|
||||
if (innerEvent is PrivateDmEvent) {
|
||||
notify(innerEvent, account)
|
||||
} else if (innerEvent is LnZapEvent) {
|
||||
|
@ -77,6 +77,8 @@ class EventNotificationConsumer(private val applicationContext: Context) {
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun unwrapAndConsume(
|
||||
event: Event,
|
||||
|
|
Ładowanie…
Reference in New Issue