Emoji + custom emoji is not a sticker

Stephen Paul Weber created

Change summary

src/main/java/eu/siacs/conversations/ui/ConversationFragment.java | 7 
1 file changed, 6 insertions(+), 1 deletion(-)

Detailed changes

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

@@ -1001,7 +1001,12 @@ public class ConversationFragment extends XmppFragment
                 if (message.bodyIsOnlyEmojis()) {
                     SpannableStringBuilder spannable = message.getSpannableBody(null, null);
                     ImageSpan[] imageSpans = spannable.getSpans(0, spannable.length(), ImageSpan.class);
-                    if (imageSpans.length == 1) {
+                    for (ImageSpan span : imageSpans) {
+                        final int start = spannable.getSpanStart(span);
+                        final int end = spannable.getSpanEnd(span);
+                        spannable.delete(start, end);
+                    }
+                    if (imageSpans.length == 1 && spannable.toString().replaceAll("\\s", "").length() < 1) {
                         // Only one inline image, so it's a sticker
                         String source = imageSpans[0].getSource();
                         if (source != null && source.length() > 0 && source.substring(0, 4).equals("cid:")) {