Add read support for binary service ids.

This commit is contained in:
Michelle Tang
2025-10-28 14:29:43 -04:00
committed by jeffrey-signal
parent bf4aa9cae9
commit f16405fabf
48 changed files with 399 additions and 205 deletions

View File

@@ -38,6 +38,7 @@ import org.whispersystems.signalservice.api.SignalSessionLock;
import org.whispersystems.signalservice.api.messages.multidevice.VerifiedMessage;
import org.whispersystems.signalservice.api.push.ServiceId;
import org.whispersystems.signalservice.api.push.SignalServiceAddress;
import org.whispersystems.signalservice.api.util.UuidUtil;
import org.whispersystems.signalservice.internal.push.Verified;
import java.util.List;
@@ -185,7 +186,7 @@ public final class IdentityUtil {
}
public static void processVerifiedMessage(Context context, Verified verified) throws InvalidKeyException {
SignalServiceAddress destination = new SignalServiceAddress(ServiceId.parseOrThrow(verified.destinationAci));
SignalServiceAddress destination = new SignalServiceAddress(ServiceId.ACI.parseOrThrow(verified.destinationAci, verified.destinationAciBinary));
IdentityKey identityKey = new IdentityKey(verified.identityKey.toByteArray(), 0);
VerifiedMessage.VerifiedState state;

View File

@@ -1181,6 +1181,15 @@ object RemoteConfig {
hotSwappable = true
)
/** Whether or not to send over binary service ids (alongside string service ids). */
@JvmStatic
@get:JvmName("useBinaryId")
val useBinaryId: Boolean by remoteBoolean(
key = "android.useBinaryServiceId",
defaultValue = false,
hotSwappable = false
)
@JvmStatic
@get:JvmName("receivePolls")
val receivePolls: Boolean by remoteBoolean(