aboutsummaryrefslogtreecommitdiffstats
path: root/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconAbstractSpan.java
diff options
context:
space:
mode:
Diffstat (limited to 'libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconAbstractSpan.java')
-rw-r--r--libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconAbstractSpan.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconAbstractSpan.java b/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconAbstractSpan.java
new file mode 100644
index 00000000..1ee4599a
--- /dev/null
+++ b/libs/emojicon/src/main/java/github/ankushsachdeva/emojicon/EmojiconAbstractSpan.java
@@ -0,0 +1,36 @@
+package github.ankushsachdeva.emojicon;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.text.style.DynamicDrawableSpan;
+
+/**
+ * Created by lookshe on 29.03.16.
+ */
+public abstract class EmojiconAbstractSpan extends DynamicDrawableSpan {
+ private final Context mContext;
+ private final int mResourceId;
+ private final int mSize;
+ private Drawable mDrawable;
+
+ public EmojiconAbstractSpan(Context context, int resourceId, int size) {
+ super();
+ mContext = context;
+ mResourceId = resourceId;
+ mSize = size;
+ }
+
+ @Override
+ public Drawable getDrawable() {
+ if (mDrawable == null) {
+ try {
+ mDrawable = mContext.getResources().getDrawable(mResourceId);
+ int size = mSize;
+ mDrawable.setBounds(0, 0, size, size);
+ } catch (Exception e) {
+ // swallow
+ }
+ }
+ return mDrawable;
+ }
+}