import java.util.concurrent.ExecutorService;
import java.util.function.Supplier;
-import static org.asamk.signal.manager.config.ServiceConfig.capabilities;
-
public class SignalDependencies {
private final Object LOCK = new Object();
private final ExecutorService executor;
private final SignalSessionLock sessionLock;
+ private boolean allowStories = true;
+
private SignalServiceAccountManager accountManager;
private GroupsV2Api groupsV2Api;
private GroupsV2Operations groupsV2Operations;
public void resetAfterAddressChange() {
this.messageSender = null;
this.cipher = null;
+ getSignalWebSocket().forceNewWebSockets();
+ }
+
+ /**
+ * This method needs to be called before the first websocket is created
+ */
+ public void setAllowStories(final boolean allowStories) {
+ this.allowStories = allowStories;
}
public ServiceEnvironmentConfig getServiceEnvironmentConfig() {
return serviceEnvironmentConfig;
}
+ public SignalSessionLock getSessionLock() {
+ return sessionLock;
+ }
+
public SignalServiceAccountManager getAccountManager() {
return getOrCreate(() -> accountManager,
() -> accountManager = new SignalServiceAccountManager(serviceEnvironmentConfig.getSignalServiceConfiguration(),
public GroupsV2Operations getGroupsV2Operations() {
return getOrCreate(() -> groupsV2Operations,
- () -> groupsV2Operations = capabilities.isGv2()
- ? new GroupsV2Operations(ClientZkOperations.create(serviceEnvironmentConfig.getSignalServiceConfiguration()),
- ServiceConfig.GROUP_MAX_SIZE)
- : null);
+ () -> groupsV2Operations = new GroupsV2Operations(ClientZkOperations.create(serviceEnvironmentConfig.getSignalServiceConfiguration()),
+ ServiceConfig.GROUP_MAX_SIZE));
}
private ClientZkOperations getClientZkOperations() {
return getOrCreate(() -> clientZkOperations,
- () -> clientZkOperations = capabilities.isGv2()
- ? ClientZkOperations.create(serviceEnvironmentConfig.getSignalServiceConfiguration())
- : null);
+ () -> clientZkOperations = ClientZkOperations.create(serviceEnvironmentConfig.getSignalServiceConfiguration()));
}
private ClientZkProfileOperations getClientZkProfileOperations() {
Optional.of(credentialsProvider),
userAgent,
healthMonitor,
- true);
+ allowStories);
}
@Override
Optional.empty(),
userAgent,
healthMonitor,
- true);
+ allowStories);
}
};
signalWebSocket = new SignalWebSocket(webSocketFactory);