Don't remove oob fallback if there is no oob

Stephen Paul Weber created

Maybe it was removed by MUC or similar

Change summary

src/main/java/eu/siacs/conversations/entities/Message.java | 9 ++++---
1 file changed, 5 insertions(+), 4 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/entities/Message.java 🔗

@@ -593,10 +593,11 @@ public class Message extends AbstractEntity implements AvatarService.Avatarable
     public String getBody(final boolean removeQuoteFallbacks) {
         if (body == null) return "";
 
-        Pair<StringBuilder, Boolean> result =
-            removeQuoteFallbacks
-            ? bodyMinusFallbacks("http://jabber.org/protocol/address", Namespace.OOB, "urn:xmpp:reply:0")
-            : bodyMinusFallbacks("http://jabber.org/protocol/address", Namespace.OOB);
+        List<String> fallbacksToRemove = new ArrayList<>();
+        fallbacksToRemove.add("http://jabber.org/protocol/address");
+        if (getOob() != null || isGeoUri()) fallbacksToRemove.add(Namespace.OOB);
+        if (removeQuoteFallbacks) fallbacksToRemove.add("urn:xmpp:reply:0");
+        Pair<StringBuilder, Boolean> result = bodyMinusFallbacks(fallbacksToRemove.toArray(new String[0]));
         StringBuilder body = result.first;
 
         final String aesgcm = MessageUtils.aesgcmDownloadable(body.toString());