From 2f1ab8af88cae4e723126ea5cf2f7d42dff7dbdc Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 30 九月 2021 13:43:56 +0800 Subject: [PATCH] 穿山甲广告SDK更新,隐私合规修改 --- library-common/src/com/lcjian/library/util/glide/GlideRoundTransform.java | 31 ++++++++++++++++++++++++++----- 1 files changed, 26 insertions(+), 5 deletions(-) diff --git a/library-common/src/com/lcjian/library/util/glide/GlideRoundTransform.java b/library-common/src/com/lcjian/library/util/glide/GlideRoundTransform.java index 098d79a..bb752ff 100644 --- a/library-common/src/com/lcjian/library/util/glide/GlideRoundTransform.java +++ b/library-common/src/com/lcjian/library/util/glide/GlideRoundTransform.java @@ -7,12 +7,16 @@ import android.graphics.Canvas; import android.graphics.Paint; import android.graphics.RectF; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; +import android.util.Log; import com.bumptech.glide.load.engine.bitmap_recycle.BitmapPool; import com.bumptech.glide.load.resource.bitmap.BitmapTransformation; +import com.bumptech.glide.load.resource.bitmap.TransformationUtils; +import com.bumptech.glide.util.Util; import java.io.UnsupportedEncodingException; +import java.nio.ByteBuffer; import java.security.MessageDigest; /** @@ -22,8 +26,9 @@ */ public class GlideRoundTransform extends BitmapTransformation { private static final String ID = GlideRoundTransform.class.getClass().getName(); + private static final String TAG = "GlideRoundTransform"; private static byte[] ID_BYTES = null; - private static float radius = 0f; + private float radius = 0f; public GlideRoundTransform(Context context) { this(context, 12); @@ -46,12 +51,16 @@ @Override protected Bitmap transform(BitmapPool pool, Bitmap toTransform, int outWidth, int outHeight) { - return roundCrop(pool, toTransform); + //澶勭悊centercrop + Bitmap bitmap = TransformationUtils.centerCrop(pool, toTransform, outWidth, outHeight); + return roundCrop(pool, bitmap == null ? toTransform : bitmap); } - private static Bitmap roundCrop(BitmapPool pool, Bitmap source) { + private Bitmap roundCrop(BitmapPool pool, Bitmap source) { if (source == null) return null; + + Log.i(TAG, "婧愬浘鐗囧ぇ灏�:" + source.getWidth() + "-" + source.getHeight()); Bitmap result = pool.get(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888); @@ -72,11 +81,23 @@ @Override public int hashCode() { - return ID.hashCode(); + return Util.hashCode(ID.hashCode(), + Util.hashCode(radius)); + } + + @Override + public boolean equals(Object o) { + if (o instanceof GlideRoundTransform) { + GlideRoundTransform other = (GlideRoundTransform) o; + return radius == other.radius; + } + return false; } @Override public void updateDiskCacheKey(@NonNull MessageDigest messageDigest) { messageDigest.update(ID_BYTES); + byte[] radiusData = ByteBuffer.allocate(4).putInt((int) radius).array(); + messageDigest.update(radiusData); } } -- Gitblit v1.8.0