public static boolean hasSavesInProgress()
{
- return savesInProgress.size() > 0;
+ boolean has = false;
+ for (CompletableFuture cf : savesInProgressCompletableFutures(true))
+ {
+ has |= !cf.isDone();
+ }
+ return has;
}
- public static List<File> savesInProgressFiles()
+ public static List<File> savesInProgressFiles(boolean all)
{
List<File> files = new ArrayList<>();
for (BackupFiles bfile : savesInProgress)
{
- files.add(bfile.getFile());
+ if (all || !bfile.getMyFuture().isDone())
+ files.add(bfile.getFile());
}
return files;
}
- public static List<CompletableFuture<Boolean>> savesInProgressCompletableFutures()
+ public static List<CompletableFuture<Boolean>> savesInProgressCompletableFutures(
+ boolean all)
{
List<CompletableFuture<Boolean>> cfs = new ArrayList<>();
for (BackupFiles bfile : savesInProgress)
{
- cfs.add(bfile.getMyFuture());
+ if (all || !bfile.getMyFuture().isDone())
+ cfs.add(bfile.getMyFuture());
}
return cfs;
}
{
String tempfilename = file.getName();
File tempdir = file.getParentFile();
+ tempdir.mkdirs();
Console.trace(
"BACKUPFILES [file!=null] attempting to create temp file for "
+ tempfilename + " in dir " + tempdir);