diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/ImageCompressionUtil.java b/app/src/main/java/org/thoughtcrime/securesms/util/ImageCompressionUtil.java index 601c8ab4d0..e103b7ef3b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/ImageCompressionUtil.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/ImageCompressionUtil.java @@ -8,18 +8,41 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.WorkerThread; +import com.bumptech.glide.load.DataSource; import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.load.engine.GlideException; +import com.bumptech.glide.request.RequestListener; +import com.bumptech.glide.request.target.Target; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.mms.GlideApp; import java.io.ByteArrayOutputStream; +import java.util.List; import java.util.concurrent.ExecutionException; public final class ImageCompressionUtil { - private static final String TAG = Log.tag(ImageCompressionUtil.class); + private static final String TAG = Log.tag(ImageCompressionUtil.class); + private static final RequestListener bitmapRequestListener = new RequestListener<>() { + @Override + public boolean onLoadFailed(@Nullable GlideException e, Object model, Target target, boolean isFirstResource) { + if (e != null) { + List causes = e.getRootCauses(); + for (int i = 0, size = causes.size(); i < size; i++) { + Log.i(TAG, "Root cause (" + (i + 1) + " of " + size + ")", causes.get(i)); + } + } else { + Log.e(TAG, "Loading failed: " + model); + } + return false; + } + + @Override + public boolean onResourceReady(Bitmap resource, Object model, Target target, DataSource dataSource, boolean isFirstResource) { + return false; + } + }; private ImageCompressionUtil () {} @@ -60,6 +83,7 @@ public final class ImageCompressionUtil { try { scaledBitmap = GlideApp.with(context.getApplicationContext()) .asBitmap() + .addListener(bitmapRequestListener) .load(glideModel) .skipMemoryCache(true) .diskCacheStrategy(DiskCacheStrategy.NONE)