kopia lustrzana https://github.com/ryukoposting/Signal-Android
Only notify for unauthorized response to messages endpoint.
rodzic
0fd8f73cca
commit
d70fe8f2cd
|
@ -10,9 +10,10 @@ import org.thoughtcrime.securesms.jobmanager.JobTracker;
|
||||||
import org.thoughtcrime.securesms.jobs.MarkerJob;
|
import org.thoughtcrime.securesms.jobs.MarkerJob;
|
||||||
import org.thoughtcrime.securesms.jobs.PushDecryptMessageJob;
|
import org.thoughtcrime.securesms.jobs.PushDecryptMessageJob;
|
||||||
import org.thoughtcrime.securesms.jobs.PushProcessMessageJob;
|
import org.thoughtcrime.securesms.jobs.PushProcessMessageJob;
|
||||||
import org.thoughtcrime.securesms.keyvalue.SignalStore;
|
|
||||||
import org.thoughtcrime.securesms.stories.Stories;
|
import org.thoughtcrime.securesms.stories.Stories;
|
||||||
|
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||||
import org.whispersystems.signalservice.api.SignalServiceMessageReceiver;
|
import org.whispersystems.signalservice.api.SignalServiceMessageReceiver;
|
||||||
|
import org.whispersystems.signalservice.api.push.exceptions.AuthorizationFailedException;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
@ -70,6 +71,9 @@ public class RestStrategy extends MessageRetrievalStrategy {
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
Log.w(TAG, "Failed to retrieve messages. Resetting the SignalServiceMessageReceiver.", e);
|
Log.w(TAG, "Failed to retrieve messages. Resetting the SignalServiceMessageReceiver.", e);
|
||||||
ApplicationDependencies.resetSignalServiceMessageReceiver();
|
ApplicationDependencies.resetSignalServiceMessageReceiver();
|
||||||
|
if (e instanceof AuthorizationFailedException) {
|
||||||
|
TextSecurePreferences.setUnauthorizedReceived(ApplicationDependencies.getApplication(), true);
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
} finally {
|
} finally {
|
||||||
jobManager.removeListener(queueListener);
|
jobManager.removeListener(queueListener);
|
||||||
|
|
|
@ -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)
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -17,7 +17,6 @@ import org.thoughtcrime.securesms.net.RemoteDeprecationDetectorInterceptor
|
||||||
import org.thoughtcrime.securesms.net.SequentialDns
|
import org.thoughtcrime.securesms.net.SequentialDns
|
||||||
import org.thoughtcrime.securesms.net.StandardUserAgentInterceptor
|
import org.thoughtcrime.securesms.net.StandardUserAgentInterceptor
|
||||||
import org.thoughtcrime.securesms.net.StaticDns
|
import org.thoughtcrime.securesms.net.StaticDns
|
||||||
import org.thoughtcrime.securesms.net.UnregisteredInterceptor
|
|
||||||
import org.thoughtcrime.securesms.phonenumbers.PhoneNumberFormatter
|
import org.thoughtcrime.securesms.phonenumbers.PhoneNumberFormatter
|
||||||
import org.thoughtcrime.securesms.util.Base64
|
import org.thoughtcrime.securesms.util.Base64
|
||||||
import org.whispersystems.signalservice.api.push.TrustStore
|
import org.whispersystems.signalservice.api.push.TrustStore
|
||||||
|
@ -143,7 +142,6 @@ open class SignalServiceNetworkAccess(context: Context) {
|
||||||
RemoteDeprecationDetectorInterceptor(),
|
RemoteDeprecationDetectorInterceptor(),
|
||||||
DeprecatedClientPreventionInterceptor(),
|
DeprecatedClientPreventionInterceptor(),
|
||||||
DeviceTransferBlockingInterceptor.getInstance(),
|
DeviceTransferBlockingInterceptor.getInstance(),
|
||||||
UnregisteredInterceptor(context),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
private val zkGroupServerPublicParams: ByteArray = try {
|
private val zkGroupServerPublicParams: ByteArray = try {
|
||||||
|
|
|
@ -454,15 +454,15 @@ public class TextSecurePreferences {
|
||||||
|
|
||||||
if (previous != value) {
|
if (previous != value) {
|
||||||
Recipient.self().live().refresh();
|
Recipient.self().live().refresh();
|
||||||
|
if (value) {
|
||||||
|
notifyUnregisteredReceived(context);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (value) {
|
if (value) {
|
||||||
clearLocalCredentials(context);
|
clearLocalCredentials(context);
|
||||||
}
|
} else {
|
||||||
|
NotificationManagerCompat.from(context).cancel(NotificationIds.UNREGISTERED_NOTIFICATION_ID);
|
||||||
if (value && !previous) {
|
|
||||||
showUnregisteredNotification(context);
|
|
||||||
EventBus.getDefault().post(new ReminderUpdateEvent());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1168,7 +1168,7 @@ public class TextSecurePreferences {
|
||||||
return preferences;
|
return preferences;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void showUnregisteredNotification(Context context) {
|
private static void notifyUnregisteredReceived(Context context) {
|
||||||
PendingIntent reRegistrationIntent = PendingIntent.getActivity(context,
|
PendingIntent reRegistrationIntent = PendingIntent.getActivity(context,
|
||||||
0,
|
0,
|
||||||
RegistrationNavigationActivity.newIntentForReRegistration(context),
|
RegistrationNavigationActivity.newIntentForReRegistration(context),
|
||||||
|
|
Ładowanie…
Reference in New Issue