diff options
| author | Marco Jacob <mjacob@union06.de> | 2014-04-06 15:21:28 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2014-04-07 07:56:19 +0200 |
| commit | 4cf627afe8d1465fcb48960a88ec23fad4ca16ee (patch) | |
| tree | 9daf518c282f57fa0d2d5baddf0cf0d4f53285ff /main/src | |
| parent | 720274c8d9478b8b590148f82819ba6a6755f4cd (diff) | |
| download | cgeo-4cf627afe8d1465fcb48960a88ec23fad4ca16ee.zip cgeo-4cf627afe8d1465fcb48960a88ec23fad4ca16ee.tar.gz cgeo-4cf627afe8d1465fcb48960a88ec23fad4ca16ee.tar.bz2 | |
fixes #3615 - restrict display image size to 800x800 to prevent OOM
Diffstat (limited to 'main/src')
| -rw-r--r-- | main/src/cgeo/geocaching/utils/ImageUtils.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/main/src/cgeo/geocaching/utils/ImageUtils.java b/main/src/cgeo/geocaching/utils/ImageUtils.java index eb91724..0d8bec8 100644 --- a/main/src/cgeo/geocaching/utils/ImageUtils.java +++ b/main/src/cgeo/geocaching/utils/ImageUtils.java @@ -32,6 +32,7 @@ public final class ImageUtils { }; private static final int[] ROTATION = new int[] { 90, 180, 270 }; + private static final int MAX_DISPLAY_IMAGE_XY = 800; private ImageUtils() { // Do not let this class be instantiated, this is a utility class. @@ -61,8 +62,9 @@ public final class ImageUtils { @Nullable public static Bitmap readAndScaleImageToFitDisplay(@NonNull final String filename) { Point displaySize = Compatibility.getDisplaySize(); - final int maxWidth = displaySize.x - 25; - final int maxHeight = displaySize.y - 25; + // Restrict image size to 800 x 800 to prevent OOM on tablets + final int maxWidth = Math.min(displaySize.x - 25, MAX_DISPLAY_IMAGE_XY); + final int maxHeight = Math.min(displaySize.y - 25, MAX_DISPLAY_IMAGE_XY); final Bitmap image = readDownsampledImage(filename, maxWidth, maxHeight); if (image == null) { return null; |
