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