From fb0243a0293e870e4344600606e162f3898d142e Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Thu, 18 Mar 2021 11:07:34 -0400 Subject: [PATCH] Fix issue with websocket connection after reregistering. Big shoutout to @jonahbeckford for the investigation here. Thanks! Fixes #10939 Fixes #11095 --- .../securesms/messages/IncomingMessageObserver.java | 4 ++++ .../thoughtcrime/securesms/util/TextSecurePreferences.java | 2 ++ 2 files changed, 6 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/messages/IncomingMessageObserver.java b/app/src/main/java/org/thoughtcrime/securesms/messages/IncomingMessageObserver.java index b7638ab0fa..e8800f1120 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messages/IncomingMessageObserver.java +++ b/app/src/main/java/org/thoughtcrime/securesms/messages/IncomingMessageObserver.java @@ -104,6 +104,10 @@ public class IncomingMessageObserver { }, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)); } + public synchronized void notifyRegistrationChanged() { + notifyAll(); + } + public synchronized void addDecryptionDrainedListener(@NonNull Runnable listener) { decryptionDrainedListeners.add(listener); if (decryptionDrained) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/TextSecurePreferences.java b/app/src/main/java/org/thoughtcrime/securesms/util/TextSecurePreferences.java index 5ffc16af10..dbbe94dd50 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/TextSecurePreferences.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/TextSecurePreferences.java @@ -17,6 +17,7 @@ import org.greenrobot.eventbus.EventBus; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.R; import org.thoughtcrime.securesms.backup.BackupProtos; +import org.thoughtcrime.securesms.dependencies.ApplicationDependencies; import org.thoughtcrime.securesms.jobmanager.impl.SqlCipherMigrationConstraintObserver; import org.thoughtcrime.securesms.keyvalue.SettingsValues; import org.thoughtcrime.securesms.lock.RegistrationLockReminders; @@ -919,6 +920,7 @@ public class TextSecurePreferences { public static void setPushRegistered(Context context, boolean registered) { Log.i(TAG, "Setting push registered: " + registered); setBooleanPreference(context, REGISTERED_GCM_PREF, registered); + ApplicationDependencies.getIncomingMessageObserver().notifyRegistrationChanged(); } public static boolean isShowInviteReminders(Context context) {