do not offer 'add reaction' when not participating

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/services/XmppConnectionService.java | 7 
src/main/java/eu/siacs/conversations/ui/ConversationFragment.java        | 3 
2 files changed, 8 insertions(+), 2 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/services/XmppConnectionService.java 🔗

@@ -4638,7 +4638,12 @@ public class XmppConnectionService extends Service {
             final String reactToId;
             final Collection<Reaction> combinedReactions;
             if (conversation.getMode() == Conversational.MODE_MULTI) {
-                final var self = conversation.getMucOptions().getSelf();
+                final var mucOptions = conversation.getMucOptions();
+                if (!mucOptions.participating()) {
+                    Log.d(Config.LOGTAG,"not participating in MUC");
+                    return false;
+                }
+                final var self = mucOptions.getSelf();
                 final String occupantId = self.getOccupantId();
                 if (Strings.isNullOrEmpty(occupantId)) {
                     Log.d(Config.LOGTAG, "occupant id not found for reaction in MUC");

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

@@ -1346,7 +1346,8 @@ public class ConversationFragment extends XmppFragment
                         !showError
                                 && !m.isDeleted()
                                 && (c.getMode() == Conversational.MODE_SINGLE
-                                        || c.getMucOptions().occupantId()));
+                                        || (c.getMucOptions().occupantId()
+                                                && c.getMucOptions().participating())));
             } else {
                 addReaction.setVisible(false);
             }