Generalize preventing WebSocket from connecting in various app states.

This commit is contained in:
Cody Henthorne
2025-04-02 11:00:35 -04:00
committed by Michelle Tang
parent ecb040ce98
commit fcc6032ee0
4 changed files with 33 additions and 20 deletions

View File

@@ -47,6 +47,7 @@ import org.thoughtcrime.securesms.jobs.TypingSendJob;
import org.thoughtcrime.securesms.keyvalue.SignalStore;
import org.thoughtcrime.securesms.megaphone.MegaphoneRepository;
import org.thoughtcrime.securesms.messages.IncomingMessageObserver;
import org.thoughtcrime.securesms.net.DeviceTransferBlockingInterceptor;
import org.thoughtcrime.securesms.net.SignalWebSocketHealthMonitor;
import org.thoughtcrime.securesms.net.StandardUserAgentInterceptor;
import org.thoughtcrime.securesms.notifications.MessageNotifier;
@@ -339,7 +340,10 @@ public class ApplicationDependencyProvider implements AppDependencies.Provider {
}
};
SignalWebSocket.AuthenticatedWebSocket webSocket = new SignalWebSocket.AuthenticatedWebSocket(authFactory, sleepTimer, TimeUnit.SECONDS.toMillis(10));
SignalWebSocket.AuthenticatedWebSocket webSocket = new SignalWebSocket.AuthenticatedWebSocket(authFactory,
() -> !SignalStore.misc().isClientDeprecated() && !DeviceTransferBlockingInterceptor.getInstance().isBlockingNetwork(),
sleepTimer,
TimeUnit.SECONDS.toMillis(10));
if (AppForegroundObserver.isForegrounded()) {
webSocket.registerKeepAliveToken(SignalWebSocket.FOREGROUND_KEEPALIVE);
}
@@ -372,7 +376,10 @@ public class ApplicationDependencyProvider implements AppDependencies.Provider {
}
};
SignalWebSocket.UnauthenticatedWebSocket webSocket = new SignalWebSocket.UnauthenticatedWebSocket(unauthFactory, sleepTimer, TimeUnit.SECONDS.toMillis(10));
SignalWebSocket.UnauthenticatedWebSocket webSocket = new SignalWebSocket.UnauthenticatedWebSocket(unauthFactory,
() -> !SignalStore.misc().isClientDeprecated() && !DeviceTransferBlockingInterceptor.getInstance().isBlockingNetwork(),
sleepTimer,
TimeUnit.SECONDS.toMillis(10));
if (AppForegroundObserver.isForegrounded()) {
webSocket.registerKeepAliveToken(SignalWebSocket.FOREGROUND_KEEPALIVE);
}