- JsonReaction(Reaction reaction, Manager m) {
- this.emoji = reaction.getEmoji();
- this.targetAuthor = m.resolveSignalServiceAddress(reaction.getTargetAuthor()).getLegacyIdentifier();
- this.targetSentTimestamp = reaction.getTargetSentTimestamp();
- this.isRemove = reaction.isRemove();
+ static JsonReaction from(MessageEnvelope.Data.Reaction reaction) {
+ final var emoji = reaction.emoji();
+ final var address = reaction.targetAuthor();
+ final var targetAuthor = address.getLegacyIdentifier();
+ final var targetAuthorNumber = address.number().orElse(null);
+ final var targetAuthorUuid = address.uuid().map(UUID::toString).orElse(null);
+ final var targetSentTimestamp = reaction.targetSentTimestamp();
+ final var isRemove = reaction.isRemove();
+ return new JsonReaction(emoji,
+ targetAuthor,
+ targetAuthorNumber,
+ targetAuthorUuid,
+ targetSentTimestamp,
+ isRemove);