- ) throws IOException, UntrustedIdentityException {
- var messageSender = dependencies.getMessageSender();
- final var address = addressResolver.resolveSignalServiceAddress(recipientId);
- try {
- try {
- messageSender.sendTyping(address, unidentifiedAccessHelper.getAccessFor(recipientId), message);
- } catch (UnregisteredUserException e) {
- final var newRecipientId = recipientRegistrationRefresher.refreshRecipientRegistration(recipientId);
- final var newAddress = addressResolver.resolveSignalServiceAddress(newRecipientId);
- messageSender.sendTyping(newAddress, unidentifiedAccessHelper.getAccessFor(newRecipientId), message);
- }
- } catch (org.whispersystems.signalservice.api.crypto.UntrustedIdentityException e) {
- throw new UntrustedIdentityException(account.getRecipientStore().resolveRecipientAddress(recipientId));
- }
+ ) {
+ return handleSendMessage(recipientId,
+ (messageSender, address, unidentifiedAccess) -> messageSender.sendTyping(address,
+ unidentifiedAccess,
+ message));