import java.io.IOException;
import java.net.URI;
+import java.nio.channels.OverlappingFileLockException;
import java.util.concurrent.TimeoutException;
import java.util.function.Consumer;
groupsV2Operations = null;
}
accountManager = new SignalServiceAccountManager(serviceEnvironmentConfig.getSignalServiceConfiguration(),
- new DynamicCredentialsProvider(null, null, password, SignalServiceAddress.DEFAULT_DEVICE_ID),
+ new DynamicCredentialsProvider(null, null, null, password, SignalServiceAddress.DEFAULT_DEVICE_ID),
userAgent,
groupsV2Operations,
ServiceConfig.AUTOMATIC_NETWORK_RETRY);
var ret = accountManager.getNewDeviceRegistration(tempIdentityKey);
var number = ret.getNumber();
var aci = ret.getAci();
+ var pni = ret.getPni();
logger.info("Received link information from {}, linking in progress ...", number);
var encryptedDeviceName = deviceName == null
? null
- : DeviceNameUtil.encryptDeviceName(deviceName, ret.getIdentity().getPrivateKey());
+ : DeviceNameUtil.encryptDeviceName(deviceName, ret.getAciIdentity().getPrivateKey());
logger.debug("Finishing new device registration");
var deviceId = accountManager.finishNewDeviceRegistration(ret.getProvisioningCode(),
accountPath,
number,
aci,
+ pni,
password,
encryptedDeviceName,
deviceId,
- ret.getIdentity(),
+ ret.getAciIdentity(),
+ ret.getPniIdentity(),
registrationId,
profileKey,
TrustNewIdentity.ON_FIRST_USE);
} catch (IOException e) {
logger.debug("Account in use or failed to load.", e);
return false;
+ } catch (OverlappingFileLockException e) {
+ logger.debug("Account in use.", e);
+ return false;
}
try (signalAccount) {