diff --git a/app/src/main/java/de/k3b/android/io/DocumentFileTranslator.java b/app/src/main/java/de/k3b/android/io/DocumentFileTranslator.java index f9f48662..db92ece9 100644 --- a/app/src/main/java/de/k3b/android/io/DocumentFileTranslator.java +++ b/app/src/main/java/de/k3b/android/io/DocumentFileTranslator.java @@ -66,7 +66,7 @@ public class DocumentFileTranslator { * Mapping from known File to DocumentFile-Directory translation */ private final Map dirCache = new HashMap<>(); - protected final DocumentFileCache documentFileCache = new DocumentFileCache(); + protected DocumentFileCache documentFileCache = new DocumentFileCache(); private static final File internalRootCandidate = new File("/storage/emulated/0"); @@ -100,6 +100,8 @@ private DocumentFileTranslator init() { for (Map.Entry enty : root.dir2uri.entrySet()) { add(new File(enty.getKey()), DocumentFile.fromTreeUri(context, Uri.parse(enty.getValue()))); } + documentFileCache = new DocumentFileCache(); + return this; } diff --git a/fotolib2/src/main/java/de/k3b/io/FileCommands.java b/fotolib2/src/main/java/de/k3b/io/FileCommands.java index e8318eeb..a28d27c3 100644 --- a/fotolib2/src/main/java/de/k3b/io/FileCommands.java +++ b/fotolib2/src/main/java/de/k3b/io/FileCommands.java @@ -378,7 +378,7 @@ protected int moveOrCopyFiles(final boolean move, String what, PhotoPropertiesDi if (exifChanges == null) { // get info for potential xmp sidecare BEFORE jpg (sourceFile) is moved away - String jpgName = sourceFile.getName(); + String jpgName = sourceFile.getName();//!!! final IFile jpgParentFile = sourceFile.getParentFile(); // old style move/copy image with sidecarfile(s) diff --git a/fotolib2/src/main/java/de/k3b/media/ExifInterface.java b/fotolib2/src/main/java/de/k3b/media/ExifInterface.java index a6e69583..7dc2c240 100644 --- a/fotolib2/src/main/java/de/k3b/media/ExifInterface.java +++ b/fotolib2/src/main/java/de/k3b/media/ExifInterface.java @@ -1416,10 +1416,10 @@ public void saveAttributes(IFile inFile, IFile outFile, if (overwriteOriginal) { final String name = inFile.getName(); final String tempName = name + TMP_FILE_SUFFIX; - // inFile.setCacheStrategy(3); //!!! - inFile = renameSouraceFileBeforeReplaceOrThrow(inFile, tempName); - - currentOutFile = outFile.getParentFile().create(name); + inFile = renameSouraceFileBeforeReplaceOrThrow(inFile.cacheStrategy(IFile.STRATEGY_NONE), tempName).cacheStrategy(IFile.STRATEGY_NONE); + currentOutFile = outFile.getParentFile().create(name).cacheStrategy(IFile.STRATEGY_NONE); + } else { + currentOutFile.cacheStrategy(IFile.STRATEGY_OUTPUT); } saveJpegAttributes( diff --git a/libK3bFilefacade/src/main/java/de/k3b/io/filefacade/FileFacade.java b/libK3bFilefacade/src/main/java/de/k3b/io/filefacade/FileFacade.java index 5c93ffce..c0010287 100644 --- a/libK3bFilefacade/src/main/java/de/k3b/io/filefacade/FileFacade.java +++ b/libK3bFilefacade/src/main/java/de/k3b/io/filefacade/FileFacade.java @@ -342,14 +342,10 @@ protected void setFile(File file) { } - /** - * true: forInput; false: forOutput; null: disable cache - */ @Override - public int setCacheStrategy(int strategyID) { - int old = this.strategyID; + public IFile cacheStrategy(int strategyID) { this.strategyID = strategyID; - return old; + return this; } @Override diff --git a/libK3bFilefacade/src/main/java/de/k3b/io/filefacade/FileWrapper.java b/libK3bFilefacade/src/main/java/de/k3b/io/filefacade/FileWrapper.java index 5dfa8836..1acf9d4c 100644 --- a/libK3bFilefacade/src/main/java/de/k3b/io/filefacade/FileWrapper.java +++ b/libK3bFilefacade/src/main/java/de/k3b/io/filefacade/FileWrapper.java @@ -183,8 +183,9 @@ public long length() { } @Override - public int setCacheStrategy(int strategyID) { - return child.setCacheStrategy(strategyID); + public IFile cacheStrategy(int strategyID) { + child.cacheStrategy(strategyID); + return this; } @Override diff --git a/libK3bFilefacade/src/main/java/de/k3b/io/filefacade/IFile.java b/libK3bFilefacade/src/main/java/de/k3b/io/filefacade/IFile.java index c5052df9..6674dc2f 100644 --- a/libK3bFilefacade/src/main/java/de/k3b/io/filefacade/IFile.java +++ b/libK3bFilefacade/src/main/java/de/k3b/io/filefacade/IFile.java @@ -102,11 +102,7 @@ public interface IFile { long length(); //------- file cache support - - /** - * 0: forInput; 1: forOutput; 3: disable cache. - */ - int setCacheStrategy(int strategyID); + IFile cacheStrategy(int strategyID); void invalidateParentDirCache(); } diff --git a/libK3bFilefacade/src/main/java/de/k3b/io/filefacade/StringFileFacade.java b/libK3bFilefacade/src/main/java/de/k3b/io/filefacade/StringFileFacade.java index 98dc597f..ff5ceb52 100644 --- a/libK3bFilefacade/src/main/java/de/k3b/io/filefacade/StringFileFacade.java +++ b/libK3bFilefacade/src/main/java/de/k3b/io/filefacade/StringFileFacade.java @@ -234,8 +234,8 @@ public long length() { } @Override - public int setCacheStrategy(int strategyID) { - return 0; + public IFile cacheStrategy(int strategyID) { + return this; } @Override