From 0747555d5a05ff9abd676e3b52251c6ee21502ec Mon Sep 17 00:00:00 2001 From: Ryan Wieghard Date: Wed, 26 Apr 2017 16:14:03 -0700 Subject: [PATCH 1/2] allows arbitrary number of temp files to be written for image resizing --- .../com/isbx/androidtools/media/ImageResizer.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/com/isbx/androidtools/media/ImageResizer.java b/core/src/main/java/com/isbx/androidtools/media/ImageResizer.java index fd70e0a..f341527 100644 --- a/core/src/main/java/com/isbx/androidtools/media/ImageResizer.java +++ b/core/src/main/java/com/isbx/androidtools/media/ImageResizer.java @@ -38,8 +38,7 @@ *

*/ public class ImageResizer { - - private static final int MAX_FILES = 10; // TODO handle files more intelligently + private static final int MAX_FILE_LIFESPAN = 86400000; // One day in milliseconds private static final String FILE_NAME_FORMAT = "image%d.jpg"; private Context context; @@ -198,8 +197,12 @@ public Uri scaleImage(Uri sourceUri, ImageResizeConfig.Dimension targetDimension OutputStream os = null; try { - if (savedFiles >= MAX_FILES) { - savedFiles = 0; + if (savedFiles >= 1) { + String lastFileName = String.format(Locale.US, FILE_NAME_FORMAT, savedFiles - 1); + long lastModified = context.getFileStreamPath(lastFileName).lastModified(); + if (System.currentTimeMillis() - lastModified >= MAX_FILE_LIFESPAN) { + clearFiles(); + } } String fileName = String.format(Locale.US, FILE_NAME_FORMAT, savedFiles++); os = context.openFileOutput(fileName, Context.MODE_PRIVATE); @@ -308,7 +311,7 @@ public static Bitmap scaleBitmap(Bitmap source, ImageResizeConfig.Dimension targ * the current one. */ public void clearFiles() { - for (int i = 0; i < MAX_FILES; i++) { + for (int i = 0; i < savedFiles; i++) { String fileName = String.format(Locale.US, FILE_NAME_FORMAT, i); context.deleteFile(fileName); } From 1eaee791036e1ca608f1acb48e25d1088f14ba0e Mon Sep 17 00:00:00 2001 From: Ryan Wieghard Date: Wed, 26 Apr 2017 16:16:56 -0700 Subject: [PATCH 2/2] style --- core/src/main/java/com/isbx/androidtools/media/ImageResizer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/core/src/main/java/com/isbx/androidtools/media/ImageResizer.java b/core/src/main/java/com/isbx/androidtools/media/ImageResizer.java index f341527..07eaab2 100644 --- a/core/src/main/java/com/isbx/androidtools/media/ImageResizer.java +++ b/core/src/main/java/com/isbx/androidtools/media/ImageResizer.java @@ -38,6 +38,7 @@ *

*/ public class ImageResizer { + private static final int MAX_FILE_LIFESPAN = 86400000; // One day in milliseconds private static final String FILE_NAME_FORMAT = "image%d.jpg";