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(); + } + }); } }