From d918c15ad63c66e65b19558f7778ab7cac8ef973 Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Thu, 29 Jul 2021 21:18:21 +0200 Subject: [PATCH] Prevent ArithmeticException --- CHANGELOG.md | 1 + app/src/main/java/protect/card_locker/Utils.java | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 75d495bb8..568aee26e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ Changes: - Fix selected colour in colour changing dialog - Support for deleting multiple cards at once +- Fix possible ArithmeticException when resizing image ## v2.0.4 (2021-07-27) diff --git a/app/src/main/java/protect/card_locker/Utils.java b/app/src/main/java/protect/card_locker/Utils.java index 26af7651e..f948acfe8 100644 --- a/app/src/main/java/protect/card_locker/Utils.java +++ b/app/src/main/java/protect/card_locker/Utils.java @@ -242,17 +242,17 @@ public class Utils { return null; } - Integer maxSize = BITMAP_SIZE_BIG; + double maxSize = BITMAP_SIZE_BIG; - Integer width = bitmap.getWidth(); - Integer height = bitmap.getHeight(); + double width = bitmap.getWidth(); + double height = bitmap.getHeight(); if (height > width) { - Integer scale = height / maxSize; + double scale = height / maxSize; height = maxSize; width = width / scale; } else if (width > height) { - Integer scale = width / maxSize; + double scale = width / maxSize; width = maxSize; height = height / scale; } else { @@ -260,7 +260,7 @@ public class Utils { width = maxSize; } - return Bitmap.createScaledBitmap(bitmap, width, height, true); + return Bitmap.createScaledBitmap(bitmap, (int) Math.round(width), (int) Math.round(height), true); } static public Bitmap rotateBitmap(Bitmap bitmap, ExifInterface exifInterface) {