From 8322a29fd1ba124c9e97ce843085f7d5cb2eacf6 Mon Sep 17 00:00:00 2001 From: joelmoniz Date: Mon, 21 Jul 2014 13:40:20 +0400 Subject: [PATCH] Left over tmp folders now removed on restart --- .../app/contrib/ContributionManager.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/app/src/processing/app/contrib/ContributionManager.java b/app/src/processing/app/contrib/ContributionManager.java index 2fe22b84e..bb9c65b0a 100644 --- a/app/src/processing/app/contrib/ContributionManager.java +++ b/app/src/processing/app/contrib/ContributionManager.java @@ -23,6 +23,7 @@ package processing.app.contrib; import java.io.*; import java.net.*; +import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.ArrayList; @@ -331,6 +332,9 @@ public class ContributionManager { * Also updates all entries previously marked for update. */ static public void cleanup(Base base) throws Exception { + deleteTemp(Base.getSketchbookModesFolder()); + deleteTemp(Base.getSketchbookToolsFolder()); + deleteFlagged(Base.getSketchbookLibrariesFolder()); deleteFlagged(Base.getSketchbookModesFolder()); deleteFlagged(Base.getSketchbookToolsFolder()); @@ -343,6 +347,22 @@ public class ContributionManager { clearRestartFlags(Base.getSketchbookToolsFolder()); } + + static private void deleteTemp(File root) { + + LinkedList deleteList = new LinkedList(); + + for (File f : root.listFiles()) + if (f.getName().matches(root.getName().substring(0, 4) + "\\d*" + "tmp")) + deleteList.add(f); + + Iterator folderIter = deleteList.iterator(); + + while(folderIter.hasNext()) { + Base.removeDir(folderIter.next()); + } + } + static private void deleteFlagged(File root) throws Exception { File[] markedForDeletion = root.listFiles(new FileFilter() {