From 5c3413a3d5169c84c9a7c6cad71b3b3b627c27f0 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 28 May 2014 11:24:58 +0200 Subject: [PATCH] Better fix for previous issue --- src/org/linphone/ui/BubbleChat.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/org/linphone/ui/BubbleChat.java b/src/org/linphone/ui/BubbleChat.java index 9053dbe01..68409889d 100644 --- a/src/org/linphone/ui/BubbleChat.java +++ b/src/org/linphone/ui/BubbleChat.java @@ -123,7 +123,7 @@ public class BubbleChat { Spanned text = null; if (message != null) { if (context.getResources().getBoolean(R.bool.emoticons_in_messages)) { - text = getSmiledText(context, getTextWithHttpLinks(message), message); + text = getSmiledText(context, getTextWithHttpLinks(message)); //text = getTextWithHttpLinks(message); } else { text = getTextWithHttpLinks(message); @@ -257,17 +257,16 @@ public class BubbleChat { cal1.get(Calendar.DAY_OF_YEAR) == cal2.get(Calendar.DAY_OF_YEAR)); } - public static Spannable getSmiledText(Context context, Spanned spanned, String text) { + public static Spannable getSmiledText(Context context, Spanned spanned) { SpannableStringBuilder builder = new SpannableStringBuilder(spanned); + String text = spanned.toString(); for (Entry entry : emoticons.entrySet()) { String key = entry.getKey(); int indexOf = text.indexOf(key); while (indexOf >= 0) { int end = indexOf + key.length(); - if (end <= spanned.length()) { - builder.setSpan(new ImageSpan(context, entry.getValue()), indexOf, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); - } + builder.setSpan(new ImageSpan(context, entry.getValue()), indexOf, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); indexOf = text.indexOf(key, end); } }