PreKeySignalMessage.from constructor

PreKeySignalMessage.from(
  1. int _version,
  2. int registrationId,
  3. Optional<int> preKeyId,
  4. int signedPreKeyId,
  5. ECPublicKey baseKey,
  6. IdentityKey identityKey,
  7. SignalMessage message,
)

Implementation

PreKeySignalMessage.from(this._version, this.registrationId, this.preKeyId,
    this.signedPreKeyId, this.baseKey, this.identityKey, this.message) {
  final builder = signal_protos.PreKeySignalMessage.create()
    ..signedPreKeyId = signedPreKeyId
    ..baseKey = baseKey.serialize()
    ..identityKey = identityKey.serialize()
    ..message = message.serialize()
    ..registrationId = registrationId;

  if (preKeyId.isPresent) {
    builder.preKeyId = preKeyId.value;
  }

  final versionBytes = [
    ByteUtil.intsToByteHighAndLow(_version, CiphertextMessage.currentVersion)
  ];

  final messageBytes = builder.toBuilder().writeToBuffer();
  serialized = Uint8List.fromList(versionBytes + messageBytes);
}