mirror of
https://github.com/haveno-dex/haveno.git
synced 2025-07-26 16:35:18 -04:00
improve reliability of chat messages ack by not using weak listeners
This commit is contained in:
parent
6030f1dd57
commit
a2c0abcbc1
2 changed files with 15 additions and 12 deletions
|
@ -36,7 +36,6 @@ import lombok.Setter;
|
|||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
@ -85,7 +84,7 @@ public final class ChatMessage extends SupportMessage {
|
|||
private final StringProperty sendMessageErrorProperty;
|
||||
private final StringProperty ackErrorProperty;
|
||||
|
||||
transient private WeakReference<Listener> listener;
|
||||
transient private Listener listener;
|
||||
|
||||
public ChatMessage(SupportType supportType,
|
||||
String tradeId,
|
||||
|
@ -328,8 +327,12 @@ public final class ChatMessage extends SupportMessage {
|
|||
return Utilities.getShortId(tradeId);
|
||||
}
|
||||
|
||||
public void addWeakMessageStateListener(Listener listener) {
|
||||
this.listener = new WeakReference<>(listener);
|
||||
public void addChangeListener(Listener listener) {
|
||||
this.listener = listener;
|
||||
}
|
||||
|
||||
public void removeChangeListener() {
|
||||
this.listener = null;
|
||||
}
|
||||
|
||||
public boolean isResultMessage(Dispute dispute) {
|
||||
|
@ -349,10 +352,7 @@ public final class ChatMessage extends SupportMessage {
|
|||
|
||||
private void notifyChangeListener() {
|
||||
if (listener != null) {
|
||||
Listener listener = this.listener.get();
|
||||
if (listener != null) {
|
||||
listener.onMessageStateChanged();
|
||||
}
|
||||
listener.onMessageStateChanged();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue