浏览代码

Delete temporal file usage for e2e

Signed-off-by: alperozturk <alper_ozturk@proton.me>
alperozturk 1 年之前
父节点
当前提交
a563c87b01
共有 1 个文件被更改,包括 10 次插入19 次删除
  1. 10 19
      app/src/main/java/com/owncloud/android/operations/UploadFileOperation.java

+ 10 - 19
app/src/main/java/com/owncloud/android/operations/UploadFileOperation.java

@@ -439,7 +439,6 @@ public class UploadFileOperation extends SyncOperation {
     @SuppressLint("AndroidLintUseSparseArrays") // gson cannot handle sparse arrays easily, therefore use hashmap
     private RemoteOperationResult encryptedUpload(OwnCloudClient client, OCFile parentFile) {
         RemoteOperationResult result = null;
-        File temporalFile = null;
         File originalFile = new File(mOriginalStoragePath);
         File expectedFile = null;
         File encryptedTempFile = null;
@@ -580,14 +579,14 @@ public class UploadFileOperation extends SyncOperation {
                 String temporalPath = FileStorageUtils.getInternalTemporalPath(user.getAccountName(), mContext) +
                     mFile.getRemotePath();
                 mFile.setStoragePath(temporalPath);
-                temporalFile = new File(temporalPath);
+                encryptedTempFile = new File(temporalPath);
 
                 Files.deleteIfExists(Paths.get(temporalPath));
-                result = copy(originalFile, temporalFile);
+                result = copy(originalFile, encryptedTempFile);
 
                 if (result.isSuccess()) {
-                    if (temporalFile.length() == originalFile.length()) {
-                        channel = new RandomAccessFile(temporalFile.getAbsolutePath(), "rw").getChannel();
+                    if (encryptedTempFile.length() == originalFile.length()) {
+                        channel = new RandomAccessFile(encryptedTempFile.getAbsolutePath(), "rw").getChannel();
                         fileLock = channel.tryLock();
                     } else {
                         result = new RemoteOperationResult(ResultCode.LOCK_FAILED);
@@ -732,9 +731,6 @@ public class UploadFileOperation extends SyncOperation {
                 }
             }
 
-            if (temporalFile != null && !originalFile.equals(temporalFile)) {
-                temporalFile.delete();
-            }
             if (result == null) {
                 result = new RemoteOperationResult(ResultCode.UNKNOWN_ERROR);
             }
@@ -753,6 +749,12 @@ public class UploadFileOperation extends SyncOperation {
                 result = unlockFolderResult;
             }
 
+            if (result.isSuccess()) {
+                handleSuccessfulUpload(encryptedTempFile, expectedFile, originalFile, client);
+            } else if (result.getCode() == ResultCode.SYNC_CONFLICT) {
+                getStorageManager().saveConflict(mFile, mFile.getEtagInConflict());
+            }
+
             if (encryptedTempFile != null) {
                 boolean isTempEncryptedFileDeleted = encryptedTempFile.delete();
                 Log_OC.e(TAG, "isTempEncryptedFileDeleted: " + isTempEncryptedFileDeleted);
@@ -761,17 +763,6 @@ public class UploadFileOperation extends SyncOperation {
             }
         }
 
-        if (result.isSuccess()) {
-            handleSuccessfulUpload(temporalFile, expectedFile, originalFile, client);
-        } else if (result.getCode() == ResultCode.SYNC_CONFLICT) {
-            getStorageManager().saveConflict(mFile, mFile.getEtagInConflict());
-        }
-
-        // delete temporal file
-        if (temporalFile != null && temporalFile.exists() && !temporalFile.delete()) {
-            Log_OC.e(TAG, "Could not delete temporal file " + temporalFile.getAbsolutePath());
-        }
-
         return result;
     }