diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceBlockedUpdateJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceBlockedUpdateJob.java index b2a909bcc2..55ccbed421 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceBlockedUpdateJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceBlockedUpdateJob.java @@ -20,6 +20,7 @@ import org.whispersystems.signalservice.api.messages.multidevice.BlockedListMess import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage; import org.whispersystems.signalservice.api.push.SignalServiceAddress; import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException; +import org.whispersystems.signalservice.api.push.exceptions.ServerRejectedException; import java.io.IOException; import java.util.LinkedList; @@ -89,6 +90,7 @@ public class MultiDeviceBlockedUpdateJob extends BaseJob { @Override public boolean onShouldRetry(@NonNull Exception exception) { + if (exception instanceof ServerRejectedException) return false; if (exception instanceof PushNetworkException) return true; return false; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceConfigurationUpdateJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceConfigurationUpdateJob.java index 8d0e29287c..cb203891a7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceConfigurationUpdateJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceConfigurationUpdateJob.java @@ -16,6 +16,7 @@ import org.whispersystems.signalservice.api.crypto.UntrustedIdentityException; import org.whispersystems.signalservice.api.messages.multidevice.ConfigurationMessage; import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage; import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException; +import org.whispersystems.signalservice.api.push.exceptions.ServerRejectedException; import java.io.IOException; @@ -97,6 +98,7 @@ public class MultiDeviceConfigurationUpdateJob extends BaseJob { @Override public boolean onShouldRetry(@NonNull Exception e) { + if (e instanceof ServerRejectedException) return false; return e instanceof PushNetworkException; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceContactUpdateJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceContactUpdateJob.java index 0d212e40ba..29a0384fda 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceContactUpdateJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceContactUpdateJob.java @@ -41,6 +41,7 @@ import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSy import org.whispersystems.signalservice.api.messages.multidevice.VerifiedMessage; import org.whispersystems.signalservice.api.push.SignalServiceAddress; import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException; +import org.whispersystems.signalservice.api.push.exceptions.ServerRejectedException; import org.whispersystems.signalservice.api.util.InvalidNumberException; import java.io.ByteArrayInputStream; @@ -244,6 +245,7 @@ public class MultiDeviceContactUpdateJob extends BaseJob { @Override public boolean onShouldRetry(@NonNull Exception exception) { + if (exception instanceof ServerRejectedException) return false; return exception instanceof PushNetworkException || exception instanceof NetworkException; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceGroupUpdateJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceGroupUpdateJob.java index 9643eea04a..2a66c0c23e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceGroupUpdateJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceGroupUpdateJob.java @@ -29,6 +29,7 @@ import org.whispersystems.signalservice.api.messages.multidevice.DeviceGroupsOut import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage; import org.whispersystems.signalservice.api.push.SignalServiceAddress; import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException; +import org.whispersystems.signalservice.api.push.exceptions.ServerRejectedException; import java.io.ByteArrayInputStream; import java.io.File; @@ -142,6 +143,7 @@ public class MultiDeviceGroupUpdateJob extends BaseJob { @Override public boolean onShouldRetry(@NonNull Exception exception) { + if (exception instanceof ServerRejectedException) return false; if (exception instanceof PushNetworkException) return true; return false; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceKeysUpdateJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceKeysUpdateJob.java index c6ea2ac29d..07bb946255 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceKeysUpdateJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceKeysUpdateJob.java @@ -17,6 +17,7 @@ import org.whispersystems.signalservice.api.crypto.UntrustedIdentityException; import org.whispersystems.signalservice.api.messages.multidevice.KeysMessage; import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage; import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException; +import org.whispersystems.signalservice.api.push.exceptions.ServerRejectedException; import org.whispersystems.signalservice.api.storage.StorageKey; import java.io.IOException; @@ -67,6 +68,7 @@ public class MultiDeviceKeysUpdateJob extends BaseJob { @Override public boolean onShouldRetry(@NonNull Exception e) { + if (e instanceof ServerRejectedException) return false; return e instanceof PushNetworkException; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceMessageRequestResponseJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceMessageRequestResponseJob.java index 351a03d281..5ba2ea846a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceMessageRequestResponseJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceMessageRequestResponseJob.java @@ -18,6 +18,7 @@ import org.whispersystems.signalservice.api.crypto.UntrustedIdentityException; import org.whispersystems.signalservice.api.messages.multidevice.MessageRequestResponseMessage; import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage; import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException; +import org.whispersystems.signalservice.api.push.exceptions.ServerRejectedException; import java.io.IOException; import java.util.concurrent.TimeUnit; @@ -120,6 +121,7 @@ public class MultiDeviceMessageRequestResponseJob extends BaseJob { @Override public boolean onShouldRetry(@NonNull Exception e) { + if (e instanceof ServerRejectedException) return false; return e instanceof PushNetworkException; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceOutgoingPaymentSyncJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceOutgoingPaymentSyncJob.java index 41dfc3fd99..1fbf6d7ca8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceOutgoingPaymentSyncJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceOutgoingPaymentSyncJob.java @@ -19,6 +19,7 @@ import org.whispersystems.libsignal.util.guava.Optional; import org.whispersystems.signalservice.api.messages.multidevice.OutgoingPaymentMessage; import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage; import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException; +import org.whispersystems.signalservice.api.push.exceptions.ServerRejectedException; import java.util.UUID; import java.util.concurrent.TimeUnit; @@ -114,6 +115,7 @@ public final class MultiDeviceOutgoingPaymentSyncJob extends BaseJob { @Override protected boolean onShouldRetry(@NonNull Exception e) { + if (e instanceof ServerRejectedException) return false; return e instanceof PushNetworkException; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceProfileContentUpdateJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceProfileContentUpdateJob.java index 5b7ba2a7a9..a20db90587 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceProfileContentUpdateJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceProfileContentUpdateJob.java @@ -12,6 +12,7 @@ import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.whispersystems.signalservice.api.SignalServiceMessageSender; import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage; import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException; +import org.whispersystems.signalservice.api.push.exceptions.ServerRejectedException; public class MultiDeviceProfileContentUpdateJob extends BaseJob { @@ -57,6 +58,7 @@ public class MultiDeviceProfileContentUpdateJob extends BaseJob { @Override protected boolean onShouldRetry(@NonNull Exception e) { + if (e instanceof ServerRejectedException) return false; return e instanceof PushNetworkException; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceProfileKeyUpdateJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceProfileKeyUpdateJob.java index 7af5c221b7..cea4333930 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceProfileKeyUpdateJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceProfileKeyUpdateJob.java @@ -24,6 +24,7 @@ import org.whispersystems.signalservice.api.messages.multidevice.DeviceContact; import org.whispersystems.signalservice.api.messages.multidevice.DeviceContactsOutputStream; import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage; import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException; +import org.whispersystems.signalservice.api.push.exceptions.ServerRejectedException; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -97,6 +98,7 @@ public class MultiDeviceProfileKeyUpdateJob extends BaseJob { @Override public boolean onShouldRetry(@NonNull Exception exception) { + if (exception instanceof ServerRejectedException) return false; if (exception instanceof PushNetworkException) return true; return false; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceReadUpdateJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceReadUpdateJob.java index 5fb6b5c2e5..6318f75e20 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceReadUpdateJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceReadUpdateJob.java @@ -24,6 +24,7 @@ import org.whispersystems.signalservice.api.crypto.UntrustedIdentityException; import org.whispersystems.signalservice.api.messages.multidevice.ReadMessage; import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage; import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException; +import org.whispersystems.signalservice.api.push.exceptions.ServerRejectedException; import java.io.IOException; import java.io.Serializable; @@ -119,6 +120,7 @@ public class MultiDeviceReadUpdateJob extends BaseJob { @Override public boolean onShouldRetry(@NonNull Exception exception) { + if (exception instanceof ServerRejectedException) return false; return exception instanceof PushNetworkException; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStickerPackOperationJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStickerPackOperationJob.java index e6697c175d..9eb921b364 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStickerPackOperationJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStickerPackOperationJob.java @@ -14,6 +14,7 @@ import org.whispersystems.signalservice.api.SignalServiceMessageSender; import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage; import org.whispersystems.signalservice.api.messages.multidevice.StickerPackOperationMessage; import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException; +import org.whispersystems.signalservice.api.push.exceptions.ServerRejectedException; import java.util.Collections; import java.util.concurrent.TimeUnit; @@ -97,6 +98,7 @@ public class MultiDeviceStickerPackOperationJob extends BaseJob { @Override protected boolean onShouldRetry(@NonNull Exception e) { + if (e instanceof ServerRejectedException) return false; return e instanceof PushNetworkException; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStickerPackSyncJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStickerPackSyncJob.java index d089ebfe42..aabdee84e8 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStickerPackSyncJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStickerPackSyncJob.java @@ -17,6 +17,7 @@ import org.whispersystems.signalservice.api.SignalServiceMessageSender; import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage; import org.whispersystems.signalservice.api.messages.multidevice.StickerPackOperationMessage; import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException; +import org.whispersystems.signalservice.api.push.exceptions.ServerRejectedException; import java.util.LinkedList; import java.util.List; @@ -79,6 +80,7 @@ public class MultiDeviceStickerPackSyncJob extends BaseJob { @Override protected boolean onShouldRetry(@NonNull Exception e) { + if (e instanceof ServerRejectedException) return false; return e instanceof PushNetworkException; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStorageSyncRequestJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStorageSyncRequestJob.java index 321e2d6ee5..8d36f2af79 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStorageSyncRequestJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceStorageSyncRequestJob.java @@ -12,6 +12,7 @@ import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.whispersystems.signalservice.api.SignalServiceMessageSender; import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage; import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException; +import org.whispersystems.signalservice.api.push.exceptions.ServerRejectedException; public class MultiDeviceStorageSyncRequestJob extends BaseJob { @@ -57,6 +58,7 @@ public class MultiDeviceStorageSyncRequestJob extends BaseJob { @Override protected boolean onShouldRetry(@NonNull Exception e) { + if (e instanceof ServerRejectedException) return false; return e instanceof PushNetworkException; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceVerifiedUpdateJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceVerifiedUpdateJob.java index 6237666f56..4edb9ba2ef 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceVerifiedUpdateJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceVerifiedUpdateJob.java @@ -23,6 +23,7 @@ import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSy import org.whispersystems.signalservice.api.messages.multidevice.VerifiedMessage; import org.whispersystems.signalservice.api.push.SignalServiceAddress; import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException; +import org.whispersystems.signalservice.api.push.exceptions.ServerRejectedException; import java.io.IOException; import java.util.concurrent.TimeUnit; @@ -125,6 +126,7 @@ public class MultiDeviceVerifiedUpdateJob extends BaseJob { @Override public boolean onShouldRetry(@NonNull Exception exception) { + if (exception instanceof ServerRejectedException) return false; return exception instanceof PushNetworkException; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceViewOnceOpenJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceViewOnceOpenJob.java index 3f60249929..389d4a7c73 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceViewOnceOpenJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceViewOnceOpenJob.java @@ -21,6 +21,7 @@ import org.whispersystems.signalservice.api.crypto.UntrustedIdentityException; import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage; import org.whispersystems.signalservice.api.messages.multidevice.ViewOnceOpenMessage; import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException; +import org.whispersystems.signalservice.api.push.exceptions.ServerRejectedException; import java.io.IOException; import java.io.Serializable; @@ -84,6 +85,7 @@ public class MultiDeviceViewOnceOpenJob extends BaseJob { @Override public boolean onShouldRetry(@NonNull Exception exception) { + if (exception instanceof ServerRejectedException) return false; return exception instanceof PushNetworkException; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceViewedUpdateJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceViewedUpdateJob.java index 77e767508c..e1a5021216 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceViewedUpdateJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/MultiDeviceViewedUpdateJob.java @@ -24,6 +24,7 @@ import org.whispersystems.signalservice.api.crypto.UntrustedIdentityException; import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage; import org.whispersystems.signalservice.api.messages.multidevice.ViewedMessage; import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException; +import org.whispersystems.signalservice.api.push.exceptions.ServerRejectedException; import java.io.IOException; import java.io.Serializable; @@ -119,6 +120,7 @@ public class MultiDeviceViewedUpdateJob extends BaseJob { @Override public boolean onShouldRetry(@NonNull Exception exception) { + if (exception instanceof ServerRejectedException) return false; return exception instanceof PushNetworkException; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/RequestGroupInfoJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/RequestGroupInfoJob.java index ceb16fa695..588af88f90 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/RequestGroupInfoJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/RequestGroupInfoJob.java @@ -18,6 +18,7 @@ import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage; import org.whispersystems.signalservice.api.messages.SignalServiceGroup; import org.whispersystems.signalservice.api.messages.SignalServiceGroup.Type; import org.whispersystems.signalservice.api.push.exceptions.PushNetworkException; +import org.whispersystems.signalservice.api.push.exceptions.ServerRejectedException; import java.io.IOException; import java.util.concurrent.TimeUnit; @@ -86,6 +87,7 @@ public class RequestGroupInfoJob extends BaseJob { @Override public boolean onShouldRetry(@NonNull Exception e) { + if (e instanceof ServerRejectedException) return false; return e instanceof PushNetworkException; }