Improves emojis support
This commit is contained in:
parent
c32b394160
commit
2c3a925cc9
|
@ -1182,8 +1182,19 @@ public class Helper {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if( emoji != null && emojis.size() > 0 ) {
|
if( emojis != null && emojis.size() > 0 ) {
|
||||||
final int[] i = {0};
|
final int[] i = {0};
|
||||||
|
int emojiToSearch = 0;
|
||||||
|
for (final Emojis emoji : emojis) {
|
||||||
|
final String targetedEmoji = ":" + emoji.getShortcode() + ":";
|
||||||
|
for(int startPosition = -1 ; (startPosition = spannableString.toString().indexOf(targetedEmoji, startPosition + 1)) != -1 ; startPosition++){
|
||||||
|
emojiToSearch++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ImageLoader imageLoader;
|
||||||
|
DisplayImageOptions options = new DisplayImageOptions.Builder().displayer(new SimpleBitmapDisplayer()).cacheInMemory(false)
|
||||||
|
.cacheOnDisk(true).resetViewBeforeLoading(true).build();
|
||||||
|
imageLoader = ImageLoader.getInstance();
|
||||||
for (final Emojis emoji : emojis) {
|
for (final Emojis emoji : emojis) {
|
||||||
final String targetedEmoji = ":" + emoji.getShortcode() + ":";
|
final String targetedEmoji = ":" + emoji.getShortcode() + ":";
|
||||||
if (spannableString.toString().contains(targetedEmoji)) {
|
if (spannableString.toString().contains(targetedEmoji)) {
|
||||||
|
@ -1191,9 +1202,9 @@ public class Helper {
|
||||||
for(int startPosition = -1 ; (startPosition = spannableString.toString().indexOf(targetedEmoji, startPosition + 1)) != -1 ; startPosition++){
|
for(int startPosition = -1 ; (startPosition = spannableString.toString().indexOf(targetedEmoji, startPosition + 1)) != -1 ; startPosition++){
|
||||||
final int endPosition = startPosition + targetedEmoji.length();
|
final int endPosition = startPosition + targetedEmoji.length();
|
||||||
final int finalStartPosition = startPosition;
|
final int finalStartPosition = startPosition;
|
||||||
ImageLoader imageLoader = ImageLoader.getInstance();
|
|
||||||
NonViewAware imageAware = new NonViewAware(new ImageSize(50, 50), ViewScaleType.CROP);
|
NonViewAware imageAware = new NonViewAware(new ImageSize(50, 50), ViewScaleType.CROP);
|
||||||
imageLoader.displayImage(emoji.getUrl(), imageAware, new SimpleImageLoadingListener() {
|
final int finalEmojiToSearch = emojiToSearch;
|
||||||
|
imageLoader.displayImage(emoji.getUrl(), imageAware, options, new SimpleImageLoadingListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
|
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
|
||||||
super.onLoadingComplete(imageUri, view, loadedImage);
|
super.onLoadingComplete(imageUri, view, loadedImage);
|
||||||
|
@ -1203,11 +1214,12 @@ public class Helper {
|
||||||
(int)Helper.convertDpToPixel(20, context), false)), finalStartPosition,
|
(int)Helper.convertDpToPixel(20, context), false)), finalStartPosition,
|
||||||
endPosition, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
|
endPosition, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
|
||||||
i[0]++;
|
i[0]++;
|
||||||
if( i[0] == emojis.size())
|
if( i[0] == finalEmojiToSearch)
|
||||||
listener.onRetrieveEmoji(position, spannableString, false);
|
listener.onRetrieveEmoji(position, spannableString, false);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void onLoadingFailed(java.lang.String imageUri, android.view.View view, FailReason failReason) {
|
public void onLoadingFailed(java.lang.String imageUri, android.view.View view, FailReason failReason) {
|
||||||
|
i[0]++;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue