From d70fe8f2cd25c3bde6910cad52dc705dad6074e9 Mon Sep 17 00:00:00 2001 From: Nicholas Date: Wed, 4 Jan 2023 11:32:43 -0500 Subject: [PATCH] Only notify for unauthorized response to messages endpoint. --- .../securesms/messages/RestStrategy.java | 6 ++++- .../securesms/net/UnregisteredInterceptor.kt | 22 ------------------- .../push/SignalServiceNetworkAccess.kt | 2 -- .../securesms/util/TextSecurePreferences.java | 12 +++++----- 4 files changed, 11 insertions(+), 31 deletions(-) delete mode 100644 app/src/main/java/org/thoughtcrime/securesms/net/UnregisteredInterceptor.kt diff --git a/app/src/main/java/org/thoughtcrime/securesms/messages/RestStrategy.java b/app/src/main/java/org/thoughtcrime/securesms/messages/RestStrategy.java index ac5607c60..36a452500 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messages/RestStrategy.java +++ b/app/src/main/java/org/thoughtcrime/securesms/messages/RestStrategy.java @@ -10,9 +10,10 @@ import org.thoughtcrime.securesms.jobmanager.JobTracker; import org.thoughtcrime.securesms.jobs.MarkerJob; import org.thoughtcrime.securesms.jobs.PushDecryptMessageJob; import org.thoughtcrime.securesms.jobs.PushProcessMessageJob; -import org.thoughtcrime.securesms.keyvalue.SignalStore; import org.thoughtcrime.securesms.stories.Stories; +import org.thoughtcrime.securesms.util.TextSecurePreferences; import org.whispersystems.signalservice.api.SignalServiceMessageReceiver; +import org.whispersystems.signalservice.api.push.exceptions.AuthorizationFailedException; import java.io.IOException; import java.util.Iterator; @@ -70,6 +71,9 @@ public class RestStrategy extends MessageRetrievalStrategy { } catch (IOException e) { Log.w(TAG, "Failed to retrieve messages. Resetting the SignalServiceMessageReceiver.", e); ApplicationDependencies.resetSignalServiceMessageReceiver(); + if (e instanceof AuthorizationFailedException) { + TextSecurePreferences.setUnauthorizedReceived(ApplicationDependencies.getApplication(), true); + } return false; } finally { jobManager.removeListener(queueListener); diff --git a/app/src/main/java/org/thoughtcrime/securesms/net/UnregisteredInterceptor.kt b/app/src/main/java/org/thoughtcrime/securesms/net/UnregisteredInterceptor.kt deleted file mode 100644 index 7742be33c..000000000 --- a/app/src/main/java/org/thoughtcrime/securesms/net/UnregisteredInterceptor.kt +++ /dev/null @@ -1,22 +0,0 @@ -package org.thoughtcrime.securesms.net - -import android.content.Context -import okhttp3.Interceptor -import okhttp3.Response -import org.signal.core.util.logging.Log -import org.thoughtcrime.securesms.util.TextSecurePreferences - -class UnregisteredInterceptor(val context: Context) : Interceptor { - - override fun intercept(chain: Interceptor.Chain): Response { - val response = chain.proceed(chain.request()) - if (response.code() == 403) { - TextSecurePreferences.setUnauthorizedReceived(context, true) - } - return response - } - - companion object { - val TAG = Log.tag(UnregisteredInterceptor::class.java) - } -} diff --git a/app/src/main/java/org/thoughtcrime/securesms/push/SignalServiceNetworkAccess.kt b/app/src/main/java/org/thoughtcrime/securesms/push/SignalServiceNetworkAccess.kt index c02088a3d..b7c08e37e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/push/SignalServiceNetworkAccess.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/push/SignalServiceNetworkAccess.kt @@ -17,7 +17,6 @@ import org.thoughtcrime.securesms.net.RemoteDeprecationDetectorInterceptor import org.thoughtcrime.securesms.net.SequentialDns import org.thoughtcrime.securesms.net.StandardUserAgentInterceptor import org.thoughtcrime.securesms.net.StaticDns -import org.thoughtcrime.securesms.net.UnregisteredInterceptor import org.thoughtcrime.securesms.phonenumbers.PhoneNumberFormatter import org.thoughtcrime.securesms.util.Base64 import org.whispersystems.signalservice.api.push.TrustStore @@ -143,7 +142,6 @@ open class SignalServiceNetworkAccess(context: Context) { RemoteDeprecationDetectorInterceptor(), DeprecatedClientPreventionInterceptor(), DeviceTransferBlockingInterceptor.getInstance(), - UnregisteredInterceptor(context), ) private val zkGroupServerPublicParams: ByteArray = try { 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 12759dc69..5d542c2ff 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/TextSecurePreferences.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/TextSecurePreferences.java @@ -454,15 +454,15 @@ public class TextSecurePreferences { if (previous != value) { Recipient.self().live().refresh(); + if (value) { + notifyUnregisteredReceived(context); + } } if (value) { clearLocalCredentials(context); - } - - if (value && !previous) { - showUnregisteredNotification(context); - EventBus.getDefault().post(new ReminderUpdateEvent()); + } else { + NotificationManagerCompat.from(context).cancel(NotificationIds.UNREGISTERED_NOTIFICATION_ID); } } @@ -1168,7 +1168,7 @@ public class TextSecurePreferences { return preferences; } - private static void showUnregisteredNotification(Context context) { + private static void notifyUnregisteredReceived(Context context) { PendingIntent reRegistrationIntent = PendingIntent.getActivity(context, 0, RegistrationNavigationActivity.newIntentForReRegistration(context),