diff --git a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java index b078428fdbdfd304826b5fce54bfc29e31e09979..9c35d6386fff5dc0bc971a4113c2f53af44ee541 100644 --- a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java +++ b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java @@ -743,7 +743,10 @@ public class FileBackend { "copy file (" + uri.toString() + ") to private storage " + file.getAbsolutePath()); file.getParentFile().mkdirs(); try { - file.createNewFile(); + if (!file.createNewFile() && file.length() > 0) { + if (file.canRead() && file.getName().startsWith("zb2")) return; // We have this content already + throw new FileCopyException(R.string.error_unable_to_create_temporary_file); + } } catch (IOException e) { throw new FileCopyException(R.string.error_unable_to_create_temporary_file); }