From 0ebeeec35e4cbab22b76891b436ffb9d1f0de815 Mon Sep 17 00:00:00 2001 From: leopoldsedev Date: Sat, 15 Feb 2020 17:26:08 +0100 Subject: [PATCH] Make new methods for undoing deletions synchronized. --- .../com/github/gotify/messages/provider/MessageFacade.java | 6 +++--- .../github/gotify/messages/provider/MessageStateHolder.java | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/github/gotify/messages/provider/MessageFacade.java b/app/src/main/java/com/github/gotify/messages/provider/MessageFacade.java index 664e79b..d829141 100644 --- a/app/src/main/java/com/github/gotify/messages/provider/MessageFacade.java +++ b/app/src/main/java/com/github/gotify/messages/provider/MessageFacade.java @@ -60,7 +60,7 @@ public class MessageFacade { return state.getLastReceivedMessage(); } - public void deleteLocal(Message message) { + public synchronized void deleteLocal(Message message) { this.state.removeMessage(message); // If there is already a deletion pending, that one should be executed before scheduling the // next deletion. @@ -70,12 +70,12 @@ public class MessageFacade { messagePendingDeletion = message; } - public void commitDelete() { + public synchronized void commitDelete() { this.requester.asyncRemoveMessage(messagePendingDeletion); messagePendingDeletion = null; } - public PositionPair undoDeleteLocal() { + public synchronized PositionPair undoDeleteLocal() { messagePendingDeletion = null; return this.state.undoLastRemoveMessage(); } diff --git a/app/src/main/java/com/github/gotify/messages/provider/MessageStateHolder.java b/app/src/main/java/com/github/gotify/messages/provider/MessageStateHolder.java index 08c8ccb..6cc050d 100644 --- a/app/src/main/java/com/github/gotify/messages/provider/MessageStateHolder.java +++ b/app/src/main/java/com/github/gotify/messages/provider/MessageStateHolder.java @@ -66,7 +66,7 @@ class MessageStateHolder { return lastReceivedMessage; } - void removeMessage(Message message) { + synchronized void removeMessage(Message message) { MessageState allMessages = state(MessageState.ALL_MESSAGES); MessageState appMessages = state(message.getAppid()); @@ -85,7 +85,7 @@ class MessageStateHolder { lastRemovedMessage = message; } - PositionPair undoLastRemoveMessage() { + synchronized PositionPair undoLastRemoveMessage() { PositionPair result = null; if (lastRemovedMessage != null) {