Move credentials provider to SignalAccount

This commit is contained in:
AsamK 2022-02-11 16:23:09 +01:00
parent 0476895c3d
commit 292ef0f2da
3 changed files with 29 additions and 11 deletions

View file

@ -70,7 +70,6 @@ import org.whispersystems.signalservice.api.messages.SignalServiceTypingMessage;
import org.whispersystems.signalservice.api.util.DeviceNameUtil;
import org.whispersystems.signalservice.api.util.InvalidNumberException;
import org.whispersystems.signalservice.api.util.PhoneNumberFormatter;
import org.whispersystems.signalservice.internal.util.DynamicCredentialsProvider;
import org.whispersystems.signalservice.internal.util.Hex;
import org.whispersystems.signalservice.internal.util.Util;
@ -100,7 +99,6 @@ class ManagerImpl implements Manager {
private final static Logger logger = LoggerFactory.getLogger(ManagerImpl.class);
private SignalAccount account;
private final AccountFileUpdater accountFileUpdater;
private final SignalDependencies dependencies;
private final Context context;
@ -121,12 +119,7 @@ class ManagerImpl implements Manager {
String userAgent
) {
this.account = account;
this.accountFileUpdater = accountFileUpdater;
final var credentialsProvider = new DynamicCredentialsProvider(account.getAci(),
account.getNumber(),
account.getPassword(),
account.getDeviceId());
final var sessionLock = new SignalSessionLock() {
private final ReentrantLock LEGACY_LOCK = new ReentrantLock();
@ -138,7 +131,7 @@ class ManagerImpl implements Manager {
};
this.dependencies = new SignalDependencies(serviceEnvironmentConfig,
userAgent,
credentialsProvider,
account.getCredentialsProvider(),
account.getSignalProtocolStore(),
executor,
sessionLock);

View file

@ -18,9 +18,9 @@ import org.whispersystems.signalservice.api.groupsv2.GroupsV2Api;
import org.whispersystems.signalservice.api.groupsv2.GroupsV2Operations;
import org.whispersystems.signalservice.api.push.SignalServiceAddress;
import org.whispersystems.signalservice.api.services.ProfileService;
import org.whispersystems.signalservice.api.util.CredentialsProvider;
import org.whispersystems.signalservice.api.util.UptimeSleepTimer;
import org.whispersystems.signalservice.api.websocket.WebSocketFactory;
import org.whispersystems.signalservice.internal.util.DynamicCredentialsProvider;
import org.whispersystems.signalservice.internal.websocket.WebSocketConnection;
import java.util.concurrent.ExecutorService;
@ -34,7 +34,7 @@ public class SignalDependencies {
private final ServiceEnvironmentConfig serviceEnvironmentConfig;
private final String userAgent;
private final DynamicCredentialsProvider credentialsProvider;
private final CredentialsProvider credentialsProvider;
private final SignalServiceDataStore dataStore;
private final ExecutorService executor;
private final SignalSessionLock sessionLock;
@ -55,7 +55,7 @@ public class SignalDependencies {
SignalDependencies(
final ServiceEnvironmentConfig serviceEnvironmentConfig,
final String userAgent,
final DynamicCredentialsProvider credentialsProvider,
final CredentialsProvider credentialsProvider,
final SignalServiceDataStore dataStore,
final ExecutorService executor,
final SignalSessionLock sessionLock

View file

@ -50,6 +50,7 @@ import org.whispersystems.signalservice.api.push.ACI;
import org.whispersystems.signalservice.api.push.DistributionId;
import org.whispersystems.signalservice.api.push.SignalServiceAddress;
import org.whispersystems.signalservice.api.storage.StorageKey;
import org.whispersystems.signalservice.api.util.CredentialsProvider;
import org.whispersystems.signalservice.api.util.UuidUtil;
import java.io.ByteArrayInputStream;
@ -901,6 +902,30 @@ public class SignalAccount implements Closeable {
() -> messageSendLogStore = new MessageSendLogStore(getRecipientStore(), getAccountDatabase()));
}
public CredentialsProvider getCredentialsProvider() {
return new CredentialsProvider() {
@Override
public ACI getAci() {
return aci;
}
@Override
public String getE164() {
return number;
}
@Override
public String getPassword() {
return password;
}
@Override
public int getDeviceId() {
return deviceId;
}
};
}
public String getNumber() {
return number;
}