aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/thedevstack/conversationsplus/ui/AsyncDrawable.java
diff options
context:
space:
mode:
authorsteckbrief <steckbrief@chefmail.de>2017-08-05 22:25:23 +0200
committersteckbrief <steckbrief@chefmail.de>2017-08-05 22:25:23 +0200
commit6f588444a953a54543661f7603d45a9093b7196a (patch)
treed9c2e1d8982336bbb3c1dcdb4d701c311ccc2d86 /src/main/java/de/thedevstack/conversationsplus/ui/AsyncDrawable.java
parent530d64beca87181e9bea8034353353cd8a7083a4 (diff)
Implements FS#249: Remove code duplication for avatar creation
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