diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 7d61fb8d01..2047531d7b 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -35,7 +35,6 @@ import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.content.res.ColorStateList; import android.database.Cursor; -import android.graphics.Bitmap; import android.graphics.Color; import android.graphics.Rect; import android.graphics.Typeface; @@ -82,8 +81,6 @@ import androidx.annotation.Nullable; import androidx.appcompat.widget.PopupMenu; import androidx.constraintlayout.widget.ConstraintLayout; import androidx.constraintlayout.widget.Group; -import androidx.core.graphics.drawable.RoundedBitmapDrawable; -import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory; import androidx.lifecycle.Lifecycle; import androidx.lifecycle.LifecycleObserver; import androidx.lifecycle.LifecycleOwner; @@ -147,7 +144,6 @@ public class AdapterMessage extends RecyclerView.Adapter h) { + int off = (w - h) / 2; + source = new Rect(off, 0, w - off, h); + } else if (w < h) { + int off = (h - w) / 2; + source = new Rect(0, off, w, h - off); + } else + source = new Rect(0, 0, w, h); + + Rect dest = new Rect(0, 0, source.width(), source.height()); + + Bitmap round = Bitmap.createBitmap(source.width(), source.height(), Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(round); + + Paint paint = new Paint(); + paint.setAntiAlias(true); + canvas.drawARGB(0, 0, 0, 0); + paint.setColor(Color.GRAY); + canvas.drawOval(new RectF(dest), paint); + paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); + canvas.drawBitmap(info.bitmap, source, dest, paint); + + info.bitmap.recycle(); + info.bitmap = round; + } + if (info.displayName == null) info.displayName = address.getPersonal(); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptions.java b/app/src/main/java/eu/faircode/email/FragmentOptions.java index 8c1e2ed86e..ad3f6aa126 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptions.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptions.java @@ -345,6 +345,7 @@ public class FragmentOptions extends FragmentBase implements SharedPreferences.O @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { prefs.edit().putBoolean("circular", checked).apply(); + ContactInfo.clearCache(); } });