aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/thedevstack/conversationsplus/ui/AsyncDrawable.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/thedevstack/conversationsplus/ui/AsyncDrawable.java')
-rw-r--r--src/main/java/de/thedevstack/conversationsplus/ui/AsyncDrawable.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/main/java/de/thedevstack/conversationsplus/ui/AsyncDrawable.java b/src/main/java/de/thedevstack/conversationsplus/ui/AsyncDrawable.java
new file mode 100644
index 00000000..52a9c74f
--- /dev/null
+++ b/src/main/java/de/thedevstack/conversationsplus/ui/AsyncDrawable.java
@@ -0,0 +1,23 @@
+package de.thedevstack.conversationsplus.ui;
+
+import android.content.res.Resources;
+import android.graphics.Bitmap;
+import android.graphics.drawable.BitmapDrawable;
+
+import java.lang.ref.WeakReference;
+
+import de.thedevstack.conversationsplus.dto.LoadAvatarFor;
+import de.thedevstack.conversationsplus.ui.tasks.AvatarBitmapTask;
+
+public class AsyncDrawable<T extends LoadAvatarFor> extends BitmapDrawable {
+ private final WeakReference<AvatarBitmapTask<T>> bitmapWorkerTaskReference;
+
+ public AsyncDrawable(Resources res, Bitmap bitmap, AvatarBitmapTask<T> bitmapWorkerTask) {
+ super(res, bitmap);
+ bitmapWorkerTaskReference = new WeakReference<>(bitmapWorkerTask);
+ }
+
+ public AvatarBitmapTask<T> getBitmapWorkerTask() {
+ return bitmapWorkerTaskReference.get();
+ }
+ } \ No newline at end of file