Only notify for unauthorized response to messages endpoint.

main
Nicholas 2023-01-04 11:32:43 -05:00 zatwierdzone przez Greyson Parrelli
rodzic 0fd8f73cca
commit d70fe8f2cd
4 zmienionych plików z 11 dodań i 31 usunięć

Wyświetl plik

@ -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);

Wyświetl plik

@ -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)
}
}

Wyświetl plik

@ -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 {

Wyświetl plik

@ -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),