Set discoverable account attribute.

This commit is contained in:
Alan Evans
2020-09-04 16:59:24 -03:00
committed by Cody Henthorne
parent bcd27355f9
commit 43ed9e7310
8 changed files with 45 additions and 14 deletions

View File

@@ -244,7 +244,8 @@ public class SignalServiceAccountManager {
public VerifyAccountResponse verifyAccountWithCode(String verificationCode, String signalingKey, int signalProtocolRegistrationId, boolean fetchesMessages,
String pin, String registrationLock,
byte[] unidentifiedAccessKey, boolean unrestrictedUnidentifiedAccess,
SignalServiceProfile.Capabilities capabilities)
SignalServiceProfile.Capabilities capabilities,
boolean discoverableByPhoneNumber)
throws IOException
{
return this.pushServiceSocket.verifyAccountCode(verificationCode, signalingKey,
@@ -253,7 +254,8 @@ public class SignalServiceAccountManager {
pin, registrationLock,
unidentifiedAccessKey,
unrestrictedUnidentifiedAccess,
capabilities);
capabilities,
discoverableByPhoneNumber);
}
/**
@@ -272,13 +274,15 @@ public class SignalServiceAccountManager {
public void setAccountAttributes(String signalingKey, int signalProtocolRegistrationId, boolean fetchesMessages,
String pin, String registrationLock,
byte[] unidentifiedAccessKey, boolean unrestrictedUnidentifiedAccess,
SignalServiceProfile.Capabilities capabilities)
SignalServiceProfile.Capabilities capabilities,
boolean discoverableByPhoneNumber)
throws IOException
{
this.pushServiceSocket.setAccountAttributes(signalingKey, signalProtocolRegistrationId, fetchesMessages,
pin, registrationLock,
unidentifiedAccessKey, unrestrictedUnidentifiedAccess,
capabilities);
capabilities,
discoverableByPhoneNumber);
}
/**

View File

@@ -39,6 +39,9 @@ public class AccountAttributes {
@JsonProperty
private boolean unrestrictedUnidentifiedAccess;
@JsonProperty
private boolean discoverableByPhoneNumber;
@JsonProperty
private SignalServiceProfile.Capabilities capabilities;
@@ -49,7 +52,8 @@ public class AccountAttributes {
String registrationLock,
byte[] unidentifiedAccessKey,
boolean unrestrictedUnidentifiedAccess,
SignalServiceProfile.Capabilities capabilities)
SignalServiceProfile.Capabilities capabilities,
boolean discoverableByPhoneNumber)
{
this.signalingKey = signalingKey;
this.registrationId = registrationId;
@@ -61,6 +65,7 @@ public class AccountAttributes {
this.unidentifiedAccessKey = unidentifiedAccessKey;
this.unrestrictedUnidentifiedAccess = unrestrictedUnidentifiedAccess;
this.capabilities = capabilities;
this.discoverableByPhoneNumber = discoverableByPhoneNumber;
}
public AccountAttributes() {}
@@ -101,6 +106,10 @@ public class AccountAttributes {
return unrestrictedUnidentifiedAccess;
}
public boolean isDiscoverableByPhoneNumber() {
return discoverableByPhoneNumber;
}
public SignalServiceProfile.Capabilities getCapabilities() {
return capabilities;
}

View File

@@ -292,10 +292,11 @@ public class PushServiceSocket {
public VerifyAccountResponse verifyAccountCode(String verificationCode, String signalingKey, int registrationId, boolean fetchesMessages,
String pin, String registrationLock,
byte[] unidentifiedAccessKey, boolean unrestrictedUnidentifiedAccess,
SignalServiceProfile.Capabilities capabilities)
SignalServiceProfile.Capabilities capabilities,
boolean discoverableByPhoneNumber)
throws IOException
{
AccountAttributes signalingKeyEntity = new AccountAttributes(signalingKey, registrationId, fetchesMessages, pin, registrationLock, unidentifiedAccessKey, unrestrictedUnidentifiedAccess, capabilities);
AccountAttributes signalingKeyEntity = new AccountAttributes(signalingKey, registrationId, fetchesMessages, pin, registrationLock, unidentifiedAccessKey, unrestrictedUnidentifiedAccess, capabilities, discoverableByPhoneNumber);
String requestBody = JsonUtil.toJson(signalingKeyEntity);
String responseBody = makeServiceRequest(String.format(VERIFY_ACCOUNT_CODE_PATH, verificationCode), "PUT", requestBody);
@@ -305,7 +306,8 @@ public class PushServiceSocket {
public void setAccountAttributes(String signalingKey, int registrationId, boolean fetchesMessages,
String pin, String registrationLock,
byte[] unidentifiedAccessKey, boolean unrestrictedUnidentifiedAccess,
SignalServiceProfile.Capabilities capabilities)
SignalServiceProfile.Capabilities capabilities,
boolean discoverableByPhoneNumber)
throws IOException
{
if (registrationLock != null && pin != null) {
@@ -313,7 +315,8 @@ public class PushServiceSocket {
}
AccountAttributes accountAttributes = new AccountAttributes(signalingKey, registrationId, fetchesMessages, pin, registrationLock,
unidentifiedAccessKey, unrestrictedUnidentifiedAccess, capabilities);
unidentifiedAccessKey, unrestrictedUnidentifiedAccess, capabilities,
discoverableByPhoneNumber);
makeServiceRequest(SET_ACCOUNT_ATTRIBUTES, "PUT", JsonUtil.toJson(accountAttributes));
}