From 41d30fc8dcb4b0dc2418aa5816cf83aa0931a885 Mon Sep 17 00:00:00 2001 From: Moxie Marlinspike Date: Fri, 13 Mar 2015 10:56:48 -0700 Subject: [PATCH] Resubscribe listeners when subscription link breaks. // FREEBIE --- .../textsecuregcm/storage/PubSubManager.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/org/whispersystems/textsecuregcm/storage/PubSubManager.java b/src/main/java/org/whispersystems/textsecuregcm/storage/PubSubManager.java index 76471c5ef..b872104e2 100644 --- a/src/main/java/org/whispersystems/textsecuregcm/storage/PubSubManager.java +++ b/src/main/java/org/whispersystems/textsecuregcm/storage/PubSubManager.java @@ -64,6 +64,12 @@ public class PubSubManager { } } + private synchronized void resubscribeAll() { + for (String serializedAddress : listeners.keySet()) { + baseListener.subscribe(serializedAddress.getBytes()); + } + } + private synchronized void waitForSubscription() { try { while (!subscribed) { @@ -149,6 +155,13 @@ public class PubSubManager { subscribed = true; PubSubManager.this.notifyAll(); } + + threaded.execute(new Runnable() { + @Override + public void run() { + resubscribeAll(); + } + }); } }