aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/ui/util
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2019-09-20 23:53:07 +0200
committerChristian Schneppe <christian@pix-art.de>2019-09-20 23:53:07 +0200
commitc0c1af1ccaf11856fa765f98e5d4ad8e0fb4ab0c (patch)
treed6f7d12a6ba1c8b7051cedcd19cb20368c4c4d8b /src/main/java/de/pixart/messenger/ui/util
parent008d2895145e931fbb99a0f98d90ea5db880ef05 (diff)
added overlay to avatar in EditAccountActivity
in addition to #390
Diffstat (limited to 'src/main/java/de/pixart/messenger/ui/util')
-rw-r--r--src/main/java/de/pixart/messenger/ui/util/AvatarWorkerTask.java22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/util/AvatarWorkerTask.java b/src/main/java/de/pixart/messenger/ui/util/AvatarWorkerTask.java
index 54cb3c2a1..738f387de 100644
--- a/src/main/java/de/pixart/messenger/ui/util/AvatarWorkerTask.java
+++ b/src/main/java/de/pixart/messenger/ui/util/AvatarWorkerTask.java
@@ -4,6 +4,7 @@ import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
+import android.graphics.drawable.LayerDrawable;
import android.os.AsyncTask;
import androidx.annotation.DimenRes;
import android.widget.ImageView;
@@ -11,6 +12,7 @@ import android.widget.ImageView;
import java.lang.ref.WeakReference;
import java.util.concurrent.RejectedExecutionException;
+import de.pixart.messenger.R;
import de.pixart.messenger.services.AvatarService;
import de.pixart.messenger.ui.XmppActivity;
@@ -72,22 +74,36 @@ public class AvatarWorkerTask extends AsyncTask<AvatarService.Avatarable, Void,
}
public static void loadAvatar(final AvatarService.Avatarable avatarable, final ImageView imageView, final @DimenRes int size) {
+ loadAvatar(avatarable, imageView, size, false);
+ }
+
+ public static void loadAvatar(final AvatarService.Avatarable avatarable, final ImageView imageView, final @DimenRes int size, final boolean overlay) {
if (cancelPotentialWork(avatarable, imageView)) {
final XmppActivity activity = XmppActivity.find(imageView);
if (activity == null) {
return;
}
- final Bitmap bm = activity.avatarService().get(avatarable, (int) activity.getResources().getDimension(size), true);
+ final Bitmap bm = activity.avatarService().get(avatarable, (int) activity.getResources().getDimension(size), false);
if (bm != null) {
cancelPotentialWork(avatarable, imageView);
- imageView.setImageBitmap(bm);
+ if (overlay) {
+ activity.xmppConnectionService.fileBackend.drawOverlay(bm, R.drawable.pencil_overlay, 1.0f);
+ imageView.setImageBitmap(bm);
+ } else {
+ imageView.setImageBitmap(bm);
+ }
imageView.setBackgroundColor(0x00000000);
} else {
imageView.setBackgroundColor(avatarable.getAvatarBackgroundColor());
imageView.setImageDrawable(null);
final AvatarWorkerTask task = new AvatarWorkerTask(imageView, size);
final AsyncDrawable asyncDrawable = new AsyncDrawable(activity.getResources(), null, task);
- imageView.setImageDrawable(asyncDrawable);
+ if (overlay) {
+ activity.xmppConnectionService.fileBackend.drawOverlayFromDrawable(asyncDrawable, R.drawable.pencil_overlay, 1.0f);
+ imageView.setImageDrawable(asyncDrawable);
+ } else {
+ imageView.setImageDrawable(asyncDrawable);
+ }
try {
task.execute(avatarable);
} catch (final RejectedExecutionException ignored) {