mirror of
https://github.com/AsamK/signal-cli
synced 2025-08-30 02:50:39 +00:00
Implement close for DbusManagerImpl
This commit is contained in:
parent
fa9401d186
commit
510dc89e92
2 changed files with 21 additions and 10 deletions
|
@ -437,13 +437,7 @@ public class DbusManagerImpl implements Manager {
|
|||
synchronized (messageHandlers) {
|
||||
messageHandlers.remove(handler);
|
||||
if (messageHandlers.size() == 0) {
|
||||
try {
|
||||
connection.removeSigHandler(Signal.MessageReceivedV2.class, signal, this.dbusMsgHandler);
|
||||
connection.removeSigHandler(Signal.ReceiptReceivedV2.class, signal, this.dbusRcptHandler);
|
||||
connection.removeSigHandler(Signal.SyncMessageReceivedV2.class, signal, this.dbusSyncHandler);
|
||||
} catch (DBusException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
uninstallMessageHandlers();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -583,6 +577,13 @@ public class DbusManagerImpl implements Manager {
|
|||
|
||||
@Override
|
||||
public void close() throws IOException {
|
||||
synchronized (this) {
|
||||
this.notify();
|
||||
}
|
||||
synchronized (messageHandlers) {
|
||||
messageHandlers.clear();
|
||||
uninstallMessageHandlers();
|
||||
}
|
||||
}
|
||||
|
||||
private SendMessageResults handleMessage(
|
||||
|
@ -757,6 +758,16 @@ public class DbusManagerImpl implements Manager {
|
|||
}
|
||||
}
|
||||
|
||||
private void uninstallMessageHandlers() {
|
||||
try {
|
||||
connection.removeSigHandler(Signal.MessageReceivedV2.class, signal, this.dbusMsgHandler);
|
||||
connection.removeSigHandler(Signal.ReceiptReceivedV2.class, signal, this.dbusRcptHandler);
|
||||
connection.removeSigHandler(Signal.SyncMessageReceivedV2.class, signal, this.dbusSyncHandler);
|
||||
} catch (DBusException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private List<MessageEnvelope.Data.Attachment> getAttachments(final Map<String, Variant<?>> extras) {
|
||||
if (!extras.containsKey("attachments")) {
|
||||
return List.of();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue