mirror of
https://github.com/oxen-io/session-android.git
synced 2025-08-25 15:37:32 +00:00
Feature flag OkHttp automatic network retry.
This commit is contained in:
@@ -121,21 +121,23 @@ public class SignalServiceAccountManager {
|
||||
*/
|
||||
public SignalServiceAccountManager(SignalServiceConfiguration configuration,
|
||||
UUID uuid, String e164, String password,
|
||||
String signalAgent)
|
||||
String signalAgent, boolean automaticNetworkRetry)
|
||||
{
|
||||
this(configuration,
|
||||
new StaticCredentialsProvider(uuid, e164, password, null),
|
||||
signalAgent,
|
||||
new GroupsV2Operations(ClientZkOperations.create(configuration)));
|
||||
new GroupsV2Operations(ClientZkOperations.create(configuration)),
|
||||
automaticNetworkRetry);
|
||||
}
|
||||
|
||||
public SignalServiceAccountManager(SignalServiceConfiguration configuration,
|
||||
CredentialsProvider credentialsProvider,
|
||||
String signalAgent,
|
||||
GroupsV2Operations groupsV2Operations)
|
||||
GroupsV2Operations groupsV2Operations,
|
||||
boolean automaticNetworkRetry)
|
||||
{
|
||||
this.groupsV2Operations = groupsV2Operations;
|
||||
this.pushServiceSocket = new PushServiceSocket(configuration, credentialsProvider, signalAgent, groupsV2Operations.getProfileOperations());
|
||||
this.pushServiceSocket = new PushServiceSocket(configuration, credentialsProvider, signalAgent, groupsV2Operations.getProfileOperations(), automaticNetworkRetry);
|
||||
this.credentials = credentialsProvider;
|
||||
this.userAgent = signalAgent;
|
||||
}
|
||||
|
@@ -80,9 +80,10 @@ public class SignalServiceMessageReceiver {
|
||||
String signalingKey, String signalAgent,
|
||||
ConnectivityListener listener,
|
||||
SleepTimer timer,
|
||||
ClientZkProfileOperations clientZkProfileOperations)
|
||||
ClientZkProfileOperations clientZkProfileOperations,
|
||||
boolean automaticNetworkRetry)
|
||||
{
|
||||
this(urls, new StaticCredentialsProvider(uuid, e164, password, signalingKey), signalAgent, listener, timer, clientZkProfileOperations);
|
||||
this(urls, new StaticCredentialsProvider(uuid, e164, password, signalingKey), signalAgent, listener, timer, clientZkProfileOperations, automaticNetworkRetry);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -96,11 +97,12 @@ public class SignalServiceMessageReceiver {
|
||||
String signalAgent,
|
||||
ConnectivityListener listener,
|
||||
SleepTimer timer,
|
||||
ClientZkProfileOperations clientZkProfileOperations)
|
||||
ClientZkProfileOperations clientZkProfileOperations,
|
||||
boolean automaticNetworkRetry)
|
||||
{
|
||||
this.urls = urls;
|
||||
this.credentialsProvider = credentials;
|
||||
this.socket = new PushServiceSocket(urls, credentials, signalAgent, clientZkProfileOperations);
|
||||
this.socket = new PushServiceSocket(urls, credentials, signalAgent, clientZkProfileOperations, automaticNetworkRetry);
|
||||
this.signalAgent = signalAgent;
|
||||
this.connectivityListener = listener;
|
||||
this.sleepTimer = timer;
|
||||
|
@@ -149,9 +149,10 @@ public class SignalServiceMessageSender {
|
||||
Optional<SignalServiceMessagePipe> unidentifiedPipe,
|
||||
Optional<EventListener> eventListener,
|
||||
ClientZkProfileOperations clientZkProfileOperations,
|
||||
ExecutorService executor)
|
||||
ExecutorService executor,
|
||||
boolean automaticNetworkRetry)
|
||||
{
|
||||
this(urls, new StaticCredentialsProvider(uuid, e164, password, null), store, signalAgent, isMultiDevice, pipe, unidentifiedPipe, eventListener, clientZkProfileOperations, executor, 0);
|
||||
this(urls, new StaticCredentialsProvider(uuid, e164, password, null), store, signalAgent, isMultiDevice, pipe, unidentifiedPipe, eventListener, clientZkProfileOperations, executor, 0, automaticNetworkRetry);
|
||||
}
|
||||
|
||||
public SignalServiceMessageSender(SignalServiceConfiguration urls,
|
||||
@@ -164,9 +165,10 @@ public class SignalServiceMessageSender {
|
||||
Optional<EventListener> eventListener,
|
||||
ClientZkProfileOperations clientZkProfileOperations,
|
||||
ExecutorService executor,
|
||||
long maxEnvelopeSize)
|
||||
long maxEnvelopeSize,
|
||||
boolean automaticNetworkRetry)
|
||||
{
|
||||
this.socket = new PushServiceSocket(urls, credentialsProvider, signalAgent, clientZkProfileOperations);
|
||||
this.socket = new PushServiceSocket(urls, credentialsProvider, signalAgent, clientZkProfileOperations, automaticNetworkRetry);
|
||||
this.store = store;
|
||||
this.localAddress = new SignalServiceAddress(credentialsProvider.getUuid(), credentialsProvider.getE164());
|
||||
this.pipe = new AtomicReference<>(pipe);
|
||||
|
@@ -233,14 +233,17 @@ public class PushServiceSocket {
|
||||
private final String signalAgent;
|
||||
private final SecureRandom random;
|
||||
private final ClientZkProfileOperations clientZkProfileOperations;
|
||||
private final boolean automaticNetworkRetry;
|
||||
|
||||
public PushServiceSocket(SignalServiceConfiguration configuration,
|
||||
CredentialsProvider credentialsProvider,
|
||||
String signalAgent,
|
||||
ClientZkProfileOperations clientZkProfileOperations)
|
||||
ClientZkProfileOperations clientZkProfileOperations,
|
||||
boolean automaticNetworkRetry)
|
||||
{
|
||||
this.credentialsProvider = credentialsProvider;
|
||||
this.signalAgent = signalAgent;
|
||||
this.automaticNetworkRetry = automaticNetworkRetry;
|
||||
this.serviceClients = createServiceConnectionHolders(configuration.getSignalServiceUrls(), configuration.getNetworkInterceptors(), configuration.getDns());
|
||||
this.cdnClientsMap = createCdnClientsMap(configuration.getSignalCdnUrlMap(), configuration.getNetworkInterceptors(), configuration.getDns());
|
||||
this.contactDiscoveryClients = createConnectionHolders(configuration.getSignalContactDiscoveryUrls(), configuration.getNetworkInterceptors(), configuration.getDns());
|
||||
@@ -1477,6 +1480,7 @@ public class PushServiceSocket {
|
||||
return baseClient.newBuilder()
|
||||
.connectTimeout(soTimeoutMillis, TimeUnit.MILLISECONDS)
|
||||
.readTimeout(soTimeoutMillis, TimeUnit.MILLISECONDS)
|
||||
.retryOnConnectionFailure(automaticNetworkRetry)
|
||||
.build();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user