@@ -794,13 +794,20 @@ private SendMessageResults sendReceiptMessage(
794794 ) {
795795 try {
796796 final var recipientId = context .getRecipientHelper ().resolveRecipient (sender );
797- final var result = context .getSendHelper ().sendReceiptMessage (receiptMessage , recipientId );
797+ List <SendMessageResult > results ;
798+ if (receiptMessage .isDeliveryReceipt () || !Boolean .FALSE .equals (account .getConfigurationStore ()
799+ .getReadReceipts ())) {
800+ final var result = context .getSendHelper ().sendReceiptMessage (receiptMessage , recipientId );
801+ results = List .of (toSendMessageResult (result ));
802+ } else {
803+ results = List .of ();
804+ }
798805
799806 final var aci = account .getRecipientAddressResolver ().resolveRecipientAddress (recipientId ).aci ();
800807 if (aci .isPresent ()) {
801808 context .getSyncHelper ().sendSyncReceiptMessage (aci .get (), receiptMessage );
802809 }
803- return new SendMessageResults (timestamp , Map .of (sender , List . of ( toSendMessageResult ( result )) ));
810+ return new SendMessageResults (timestamp , Map .of (sender , results ));
804811 } catch (UnregisteredRecipientException e ) {
805812 return new SendMessageResults (timestamp ,
806813 Map .of (sender , List .of (SendMessageResult .unregisteredFailure (sender .toPartialRecipientAddress ()))));
@@ -1870,7 +1877,7 @@ public void sendCallOffer(
18701877 var callMessage = SignalServiceCallMessage .forOffer (offerMessage , null );
18711878 try {
18721879 dependencies .getMessageSender ().sendCallMessage (address , null , callMessage );
1873- } catch (org . whispersystems . signalservice . api . crypto . UntrustedIdentityException e ) {
1880+ } catch (UntrustedIdentityException e ) {
18741881 throw new IOException ("Untrusted identity for call recipient" , e );
18751882 } catch (NoSessionException e ) {
18761883 throw new IOException ("No session for call recipient" , e );
@@ -1889,7 +1896,7 @@ public void sendCallAnswer(
18891896 var callMessage = SignalServiceCallMessage .forAnswer (answerMessage , null );
18901897 try {
18911898 dependencies .getMessageSender ().sendCallMessage (address , null , callMessage );
1892- } catch (org . whispersystems . signalservice . api . crypto . UntrustedIdentityException e ) {
1899+ } catch (UntrustedIdentityException e ) {
18931900 throw new IOException ("Untrusted identity for call recipient" , e );
18941901 } catch (NoSessionException e ) {
18951902 throw new IOException ("No session for call recipient" , e );
@@ -1908,7 +1915,7 @@ public void sendIceUpdate(
19081915 var callMessage = SignalServiceCallMessage .forIceUpdates (iceUpdates , null );
19091916 try {
19101917 dependencies .getMessageSender ().sendCallMessage (address , null , callMessage );
1911- } catch (org . whispersystems . signalservice . api . crypto . UntrustedIdentityException e ) {
1918+ } catch (UntrustedIdentityException e ) {
19121919 throw new IOException ("Untrusted identity for call recipient" , e );
19131920 } catch (NoSessionException e ) {
19141921 throw new IOException ("No session for call recipient" , e );
@@ -1934,7 +1941,7 @@ public void sendHangup(
19341941 var callMessage = SignalServiceCallMessage .forHangup (hangupMessage , null );
19351942 try {
19361943 dependencies .getMessageSender ().sendCallMessage (address , null , callMessage );
1937- } catch (org . whispersystems . signalservice . api . crypto . UntrustedIdentityException e ) {
1944+ } catch (UntrustedIdentityException e ) {
19381945 throw new IOException ("Untrusted identity for call recipient" , e );
19391946 } catch (NoSessionException e ) {
19401947 throw new IOException ("No session for call recipient" , e );
@@ -1952,7 +1959,7 @@ public void sendBusy(
19521959 var callMessage = SignalServiceCallMessage .forBusy (busyMessage , null );
19531960 try {
19541961 dependencies .getMessageSender ().sendCallMessage (address , null , callMessage );
1955- } catch (org . whispersystems . signalservice . api . crypto . UntrustedIdentityException e ) {
1962+ } catch (UntrustedIdentityException e ) {
19561963 throw new IOException ("Untrusted identity for call recipient" , e );
19571964 } catch (NoSessionException e ) {
19581965 throw new IOException ("No session for call recipient" , e );
0 commit comments