import org.whispersystems.libsignal.IdentityKeyPair;
import org.whispersystems.libsignal.InvalidKeyException;
import org.whispersystems.libsignal.InvalidMessageException;
-import org.whispersystems.libsignal.InvalidVersionException;
import org.whispersystems.libsignal.ecc.ECPublicKey;
import org.whispersystems.libsignal.state.PreKeyRecord;
import org.whispersystems.libsignal.state.SignedPreKeyRecord;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import java.util.stream.Collectors;
private final SignalServiceMessageReceiver messageReceiver;
private final ClientZkProfileOperations clientZkProfileOperations;
+ private final ExecutorService executor = Executors.newCachedThreadPool();
+
private SignalServiceMessagePipe messagePipe = null;
private SignalServiceMessagePipe unidentifiedMessagePipe = null;
new DynamicCredentialsProvider(account.getUuid(),
account.getUsername(),
account.getPassword(),
- account.getSignalingKey(),
account.getDeviceId()),
userAgent,
groupsV2Operations,
account.getUsername(),
account.getPassword(),
account.getDeviceId(),
- account.getSignalingKey(),
userAgent,
null,
timer,
}
public void updateAccountAttributes() throws IOException {
- accountManager.setAccountAttributes(account.getSignalingKey(),
+ accountManager.setAccountAttributes(null,
account.getSignalProtocolStore().getLocalRegistrationId(),
true,
// set legacy pin only if no KBS master key is set
}
private SignalServiceMessageSender createMessageSender() {
- final ExecutorService executor = null;
return new SignalServiceMessageSender(serviceEnvironmentConfig.getSignalServiceConfiguration(),
account.getUuid(),
account.getUsername(),
} catch (TimeoutException e) {
if (returnOnTimeout) return;
continue;
- } catch (InvalidVersionException e) {
- logger.warn("Error while receiving messages, ignoring: {}", e.getMessage());
- continue;
}
if (envelope.hasSource()) {
}
void close(boolean closeAccount) throws IOException {
+ executor.shutdown();
+
if (messagePipe != null) {
messagePipe.shutdown();
messagePipe = null;