diff --git a/app/src/androidTest/java/org/thoughtcrime/securesms/jobs/BackupSubscriptionCheckJobTest.kt b/app/src/androidTest/java/org/thoughtcrime/securesms/jobs/BackupSubscriptionCheckJobTest.kt index 1512eb7b56..e5a1fb8aa5 100644 --- a/app/src/androidTest/java/org/thoughtcrime/securesms/jobs/BackupSubscriptionCheckJobTest.kt +++ b/app/src/androidTest/java/org/thoughtcrime/securesms/jobs/BackupSubscriptionCheckJobTest.kt @@ -143,6 +143,7 @@ class BackupSubscriptionCheckJobTest { @Test fun givenUserIsNotRegistered_whenIRun_thenIExpectSuccessAndEarlyExit() { mockkObject(SignalStore.account) { + every { SignalStore.account.e164 } returns "+15555550101" every { SignalStore.account.isRegistered } returns false val job = BackupSubscriptionCheckJob.create() @@ -155,6 +156,7 @@ class BackupSubscriptionCheckJobTest { @Test fun givenIsLinkedDevice_whenIRun_thenIExpectSuccessAndEarlyExit() { mockkObject(SignalStore.account) { + every { SignalStore.account.e164 } returns "+15555550101" every { SignalStore.account.isLinkedDevice } returns true val job = BackupSubscriptionCheckJob.create() diff --git a/app/src/main/java/org/thoughtcrime/securesms/dependencies/ApplicationDependencyProvider.java b/app/src/main/java/org/thoughtcrime/securesms/dependencies/ApplicationDependencyProvider.java index a6e624b16a..ea1c603ae9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/dependencies/ApplicationDependencyProvider.java +++ b/app/src/main/java/org/thoughtcrime/securesms/dependencies/ApplicationDependencyProvider.java @@ -399,7 +399,7 @@ public class ApplicationDependencyProvider implements AppDependencies.Provider { }; SignalWebSocket.AuthenticatedWebSocket webSocket = new SignalWebSocket.AuthenticatedWebSocket(authFactory, - () -> !SignalStore.misc().isClientDeprecated() && !DeviceTransferBlockingInterceptor.getInstance().isBlockingNetwork() && !Environment.IS_INSTRUMENTATION, + () -> !SignalStore.misc().isClientDeprecated() && SignalStore.account().isRegistered() && !TextSecurePreferences.isUnauthorizedReceived(context) && !DeviceTransferBlockingInterceptor.getInstance().isBlockingNetwork() && !Environment.IS_INSTRUMENTATION, sleepTimer, TimeUnit.SECONDS.toMillis(30)); if (AppForegroundObserver.isForegrounded()) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/messages/IncomingMessageObserver.kt b/app/src/main/java/org/thoughtcrime/securesms/messages/IncomingMessageObserver.kt index a6049c7f44..5174e47c76 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messages/IncomingMessageObserver.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/messages/IncomingMessageObserver.kt @@ -271,7 +271,7 @@ class IncomingMessageObserver( } private fun isConnectionAvailable(): Boolean { - return SignalStore.account.isRegistered && (authWebSocket.stateSnapshot == WebSocketConnectionState.CONNECTED || (authWebSocket.shouldSendKeepAlives() && NetworkConstraint.isMet(context))) + return !TextSecurePreferences.isUnauthorizedReceived(context) && SignalStore.account.isRegistered && (authWebSocket.stateSnapshot == WebSocketConnectionState.CONNECTED || (authWebSocket.shouldSendKeepAlives() && NetworkConstraint.isMet(context))) } private fun waitForConnectionNecessary() {