show toast when reaction can not be added

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/ui/AddReactionActivity.java    |  9 
src/main/java/eu/siacs/conversations/ui/ConversationFragment.java   |  7 
src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java | 10 
3 files changed, 22 insertions(+), 4 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/ui/AddReactionActivity.java 🔗

@@ -45,12 +45,17 @@ public class AddReactionActivity extends XmppActivity {
         }
         final var aggregated = m.getAggregatedReactions();
         if (aggregated.ourReactions.contains(emoji)) {
-            xmppConnectionService.sendReactions(m, aggregated.ourReactions);
+            if (!xmppConnectionService.sendReactions(m, aggregated.ourReactions)) {
+                Toast.makeText(this, R.string.could_not_add_reaction, Toast.LENGTH_LONG).show();
+                return;
+            }
         } else {
             final ImmutableSet.Builder<String> reactionBuilder = new ImmutableSet.Builder<>();
             reactionBuilder.addAll(aggregated.ourReactions);
             reactionBuilder.add(emoji);
-            xmppConnectionService.sendReactions(m, reactionBuilder.build());
+            if (!xmppConnectionService.sendReactions(m, reactionBuilder.build())) {
+                Toast.makeText(this, R.string.could_not_add_reaction, Toast.LENGTH_LONG).show();
+            }
         }
         finish();
     }

src/main/java/eu/siacs/conversations/ui/ConversationFragment.java 🔗

@@ -2141,7 +2141,12 @@ public class ConversationFragment extends XmppFragment
     }
 
     private void addReaction(final Message message) {
-        activity.addReaction(message, reactions -> activity.xmppConnectionService.sendReactions(message, reactions));
+        activity.addReaction(message, reactions -> {
+            if (activity.xmppConnectionService.sendReactions(message, reactions)) {
+                return;
+            }
+            Toast.makeText(activity, R.string.could_not_add_reaction, Toast.LENGTH_LONG).show();
+        });
     }
 
     private void reportMessage(final Message message) {

src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java 🔗

@@ -1122,7 +1122,15 @@ public class MessageAdapter extends ArrayAdapter<Message> {
     }
 
     private void addReaction(final Message message) {
-        activity.addReaction(message, reactions -> activity.xmppConnectionService.sendReactions(message,reactions));
+        activity.addReaction(
+                message,
+                reactions -> {
+                    if (activity.xmppConnectionService.sendReactions(message, reactions)) {
+                        return;
+                    }
+                    Toast.makeText(activity, R.string.could_not_add_reaction, Toast.LENGTH_LONG)
+                            .show();
+                });
     }
 
     private void promptOpenKeychainInstall(View view) {