diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/AttachmentController.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/AttachmentController.java index 7c4339c3e..a5d6ca146 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/AttachmentController.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/AttachmentController.java @@ -175,10 +175,18 @@ class AttachmentController { float widthPercentage = maxWidth / (float) width; float heightPercentage = maxHeight / (float) height; float scaleFactor = Math.min(widthPercentage, heightPercentage); + if (scaleFactor > 1) scaleFactor = 1f; int thumbnailWidth = (int) (width * scaleFactor); int thumbnailHeight = (int) (height * scaleFactor); - if (thumbnailWidth < minWidth) thumbnailWidth = minWidth; - if (thumbnailHeight < minHeight) thumbnailHeight = minHeight; + if (thumbnailWidth < minWidth || thumbnailHeight < minHeight) { + widthPercentage = minWidth / (float) width; + heightPercentage = minHeight / (float) height; + scaleFactor = Math.max(widthPercentage, heightPercentage); + thumbnailWidth = (int) (width * scaleFactor); + thumbnailHeight = (int) (height * scaleFactor); + if (thumbnailWidth > maxWidth) thumbnailWidth = maxWidth; + if (thumbnailHeight > maxHeight) thumbnailHeight = maxHeight; + } return new Size(thumbnailWidth, thumbnailHeight); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarDataFetcher.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarDataFetcher.java index 252e8df57..51d51434d 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarDataFetcher.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/glide/BriarDataFetcher.java @@ -21,7 +21,6 @@ import java.util.logging.Logger; import javax.inject.Inject; import static com.bumptech.glide.load.DataSource.LOCAL; -import static java.util.Objects.requireNonNull; import static java.util.logging.Level.WARNING; import static java.util.logging.Logger.getLogger; import static org.briarproject.bramble.util.LogUtils.logException; @@ -52,7 +51,7 @@ class BriarDataFetcher implements DataFetcher { @Override public void loadData(Priority priority, DataCallback callback) { - MessageId id = requireNonNull(attachment).getMessageId(); + MessageId id = attachment.getMessageId(); dbExecutor.execute(() -> { if (cancel) return; try {