From ab8593d5f35980eb77eacbed9e0ce5319725ac23 Mon Sep 17 00:00:00 2001 From: Jake McGinty Date: Thu, 14 May 2015 16:36:25 -0700 Subject: [PATCH] invalidate emoji when load completes Closes #3169 // FREEBIE --- .../components/emoji/EmojiProvider.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/org/thoughtcrime/securesms/components/emoji/EmojiProvider.java b/src/org/thoughtcrime/securesms/components/emoji/EmojiProvider.java index f0982728c9..b70e7eaae5 100644 --- a/src/org/thoughtcrime/securesms/components/emoji/EmojiProvider.java +++ b/src/org/thoughtcrime/securesms/components/emoji/EmojiProvider.java @@ -34,6 +34,8 @@ public class EmojiProvider { private static final ExecutorService executor = Util.newSingleThreadedLifoExecutor(); private static volatile EmojiProvider instance = null; private static final SparseArray> bitmaps = new SparseArray<>(); + private static final Paint paint = new Paint(); + static { paint.setFilterBitmap(true); } private final SparseArray offsets = new SparseArray<>(); @@ -153,18 +155,12 @@ public class EmojiProvider { return drawable; } - public static class EmojiDrawable extends Drawable { + public class EmojiDrawable extends Drawable { private final int index; private final int page; private final int emojiSize; - private static final Paint paint; private Bitmap bmp; - static { - paint = new Paint(); - paint.setFilterBitmap(true); - } - public EmojiDrawable(DrawInfo info, int emojiSize) { this.index = info.index; this.page = info.page; @@ -174,7 +170,11 @@ public class EmojiProvider { @Override public void draw(Canvas canvas) { if (bitmaps.get(page) == null || bitmaps.get(page).get() == null) { - Log.w(TAG, "bitmap for this page was null"); + preloadPage(page, new PageLoadedListener() { + @Override public void onPageLoaded() { + invalidateSelf(); + } + }); return; } if (bmp == null) {