X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/6843643aad90a6ba6380e297411f8b6e487946e1..8a31b7f2c153e89532010b9ab58eb045ddfe43fe:/lib/src/main/java/org/asamk/signal/manager/ProvisioningManagerImpl.java diff --git a/lib/src/main/java/org/asamk/signal/manager/ProvisioningManagerImpl.java b/lib/src/main/java/org/asamk/signal/manager/ProvisioningManagerImpl.java index 17569401..544032da 100644 --- a/lib/src/main/java/org/asamk/signal/manager/ProvisioningManagerImpl.java +++ b/lib/src/main/java/org/asamk/signal/manager/ProvisioningManagerImpl.java @@ -21,7 +21,6 @@ import org.asamk.signal.manager.config.ServiceConfig; import org.asamk.signal.manager.config.ServiceEnvironmentConfig; import org.asamk.signal.manager.storage.SignalAccount; import org.asamk.signal.manager.storage.accounts.AccountsStore; -import org.asamk.signal.manager.storage.identities.TrustNewIdentity; import org.asamk.signal.manager.util.KeyUtils; import org.signal.libsignal.protocol.IdentityKeyPair; import org.signal.libsignal.protocol.util.KeyHelper; @@ -42,6 +41,8 @@ import java.nio.channels.OverlappingFileLockException; import java.util.concurrent.TimeoutException; import java.util.function.Consumer; +import static org.asamk.signal.manager.config.ServiceConfig.getCapabilities; + class ProvisioningManagerImpl implements ProvisioningManager { private final static Logger logger = LoggerFactory.getLogger(ProvisioningManagerImpl.class); @@ -126,7 +127,12 @@ class ProvisioningManagerImpl implements ProvisioningManager { logger.debug("Finishing new device registration"); var deviceId = accountManager.finishNewDeviceRegistration(ret.getProvisioningCode(), - new ConfirmCodeMessage(false, true, registrationId, pniRegistrationId, encryptedDeviceName, null)); + new ConfirmCodeMessage(false, + true, + registrationId, + pniRegistrationId, + encryptedDeviceName, + getCapabilities(false))); // Create new account with the synced identity var profileKey = ret.getProfileKey() == null ? KeyUtils.createProfileKey() : ret.getProfileKey(); @@ -147,7 +153,8 @@ class ProvisioningManagerImpl implements ProvisioningManager { registrationId, pniRegistrationId, profileKey, - TrustNewIdentity.ON_FIRST_USE); + Settings.DEFAULT); + account.getConfigurationStore().setReadReceipts(ret.isReadReceipts()); ManagerImpl m = null; try { @@ -194,10 +201,7 @@ class ProvisioningManagerImpl implements ProvisioningManager { private boolean canRelinkExistingAccount(final String accountPath) throws IOException { final SignalAccount signalAccount; try { - signalAccount = SignalAccount.load(pathConfig.dataPath(), - accountPath, - false, - TrustNewIdentity.ON_FIRST_USE); + signalAccount = SignalAccount.load(pathConfig.dataPath(), accountPath, false, Settings.DEFAULT); } catch (IOException e) { logger.debug("Account in use or failed to load.", e); return false;