From 65020dde1a56d698e729cd67457ec510fbc4a05b Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Wed, 26 May 2021 12:02:19 -0400 Subject: [PATCH] Fix some missed cases for blocking unregistered sends. --- .../securesms/conversation/ConversationActivity.java | 2 +- .../securesms/jobs/PaymentNotificationSendJob.java | 1 + .../org/thoughtcrime/securesms/jobs/ProfileKeySendJob.java | 1 + .../securesms/jobs/PushGroupSilentUpdateSendJob.java | 1 + .../java/org/thoughtcrime/securesms/jobs/PushSendJob.java | 4 ++++ .../org/thoughtcrime/securesms/jobs/ReactionSendJob.java | 1 + .../thoughtcrime/securesms/jobs/RemoteDeleteSendJob.java | 1 + .../securesms/logsubmit/LogSectionKeyPreferences.java | 6 +++++- 8 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java index a329ff2be3..5733e937c9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java @@ -1751,7 +1751,7 @@ public class ConversationActivity extends PassphraseRequiredActivity } Log.i(TAG, "Resolved registered state: " + registeredState); - boolean signalEnabled = TextSecurePreferences.isPushRegistered(context); + boolean signalEnabled = Recipient.self().isRegistered(); if (registeredState == RegisteredState.UNKNOWN) { try { diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/PaymentNotificationSendJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/PaymentNotificationSendJob.java index 5b7f2f3204..582ef305b6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/PaymentNotificationSendJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/PaymentNotificationSendJob.java @@ -118,6 +118,7 @@ public final class PaymentNotificationSendJob extends BaseJob { @Override protected boolean onShouldRetry(@NonNull Exception e) { if (e instanceof ServerRejectedException) return false; + if (e instanceof NotPushRegisteredException) return false; return e instanceof IOException || e instanceof RetryLaterException; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/ProfileKeySendJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/ProfileKeySendJob.java index 728264c926..2fa4dc0826 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/ProfileKeySendJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/ProfileKeySendJob.java @@ -123,6 +123,7 @@ public class ProfileKeySendJob extends BaseJob { @Override protected boolean onShouldRetry(@NonNull Exception e) { if (e instanceof ServerRejectedException) return false; + if (e instanceof NotPushRegisteredException) return false; return e instanceof IOException || e instanceof RetryLaterException; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSilentUpdateSendJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSilentUpdateSendJob.java index a9db213362..382c1d3029 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSilentUpdateSendJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSilentUpdateSendJob.java @@ -151,6 +151,7 @@ public final class PushGroupSilentUpdateSendJob extends BaseJob { @Override protected boolean onShouldRetry(@NonNull Exception e) { if (e instanceof ServerRejectedException) return false; + if (e instanceof NotPushRegisteredException) return false; return e instanceof IOException || e instanceof RetryLaterException; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushSendJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushSendJob.java index 6dc37cda61..28131b26ba 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushSendJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushSendJob.java @@ -145,6 +145,10 @@ public abstract class PushSendJob extends SendJob { return false; } + if (exception instanceof NotPushRegisteredException) { + return false; + } + return exception instanceof IOException || exception instanceof RetryLaterException || exception instanceof ProofRequiredException; diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/ReactionSendJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/ReactionSendJob.java index 558b0d5361..53a4bdcd76 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/ReactionSendJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/ReactionSendJob.java @@ -186,6 +186,7 @@ public class ReactionSendJob extends BaseJob { @Override protected boolean onShouldRetry(@NonNull Exception e) { if (e instanceof ServerRejectedException) return false; + if (e instanceof NotPushRegisteredException) return false; return e instanceof IOException || e instanceof RetryLaterException; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/RemoteDeleteSendJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/RemoteDeleteSendJob.java index f06d23e2a8..63a4b0e21f 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/RemoteDeleteSendJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/RemoteDeleteSendJob.java @@ -159,6 +159,7 @@ public class RemoteDeleteSendJob extends BaseJob { @Override protected boolean onShouldRetry(@NonNull Exception e) { if (e instanceof ServerRejectedException) return false; + if (e instanceof NotPushRegisteredException) return false; return e instanceof IOException || e instanceof RetryLaterException; } diff --git a/app/src/main/java/org/thoughtcrime/securesms/logsubmit/LogSectionKeyPreferences.java b/app/src/main/java/org/thoughtcrime/securesms/logsubmit/LogSectionKeyPreferences.java index c9976fe291..bc6d1d2832 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/logsubmit/LogSectionKeyPreferences.java +++ b/app/src/main/java/org/thoughtcrime/securesms/logsubmit/LogSectionKeyPreferences.java @@ -5,6 +5,7 @@ import android.content.Context; import androidx.annotation.NonNull; import org.thoughtcrime.securesms.keyvalue.SignalStore; +import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.thoughtcrime.securesms.util.Util; @@ -24,6 +25,9 @@ final class LogSectionKeyPreferences implements LogSection { .append("Default SMS : ").append(Util.isDefaultSmsProvider(context)).append("\n") .append("Prefer Contact Photos: ").append(SignalStore.settings().isPreferSystemContactPhotos()).append("\n") .append("Call Bandwidth Mode : ").append(SignalStore.settings().getCallBandwidthMode()).append("\n") - .append("Client Deprecated : ").append(SignalStore.misc().isClientDeprecated()).append("\n"); + .append("Client Deprecated : ").append(SignalStore.misc().isClientDeprecated()).append("\n") + .append("Push Registered : ").append(TextSecurePreferences.isPushRegistered(context)).append("\n") + .append("Unauthorized Received: ").append(TextSecurePreferences.isUnauthorizedRecieved(context)).append("\n") + .append("self.isRegistered() : ").append(Recipient.self().isRegistered()).append("\n"); } }