Add getUsername default method to CredentialsProvider

This commit is contained in:
moiseev-signal
2024-04-05 09:47:33 -07:00
committed by Greyson Parrelli
parent ea081e981f
commit 3ea194255d
3 changed files with 70 additions and 5 deletions

View File

@@ -8,6 +8,7 @@ package org.whispersystems.signalservice.api.util;
import org.whispersystems.signalservice.api.push.ServiceId.ACI;
import org.whispersystems.signalservice.api.push.ServiceId.PNI;
import org.whispersystems.signalservice.api.push.SignalServiceAddress;
public interface CredentialsProvider {
ACI getAci();
@@ -15,4 +16,14 @@ public interface CredentialsProvider {
String getE164();
int getDeviceId();
String getPassword();
default String getUsername() {
StringBuilder sb = new StringBuilder();
sb.append(getAci().toString());
if (getDeviceId() != SignalServiceAddress.DEFAULT_DEVICE_ID) {
sb.append(".");
sb.append(getDeviceId());
}
return sb.toString();
}
}

View File

@@ -133,11 +133,7 @@ public class WebSocketConnection extends WebSocketListener {
String filledUri;
if (credentialsProvider.isPresent()) {
String identifier = Objects.requireNonNull(credentialsProvider.get().getAci()).toString();
if (credentialsProvider.get().getDeviceId() != SignalServiceAddress.DEFAULT_DEVICE_ID) {
identifier += "." + credentialsProvider.get().getDeviceId();
}
filledUri = String.format(wsUri, identifier, credentialsProvider.get().getPassword());
filledUri = String.format(wsUri, credentialsProvider.get().getUsername(), credentialsProvider.get().getPassword());
} else {
filledUri = wsUri;
}