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";