فهرست منبع

Fix paths

Signed-off-by: alperozturk <alper_ozturk@proton.me>
alperozturk 10 ماه پیش
والد
کامیت
7e035847a2

+ 9 - 14
app/src/main/java/com/nextcloud/client/jobs/offlineOperations/OfflineOperationsWorker.kt

@@ -116,21 +116,16 @@ class OfflineOperationsWorker(
     ): Pair<RemoteOperationResult<*>?, RemoteOperation<*>?>? {
         return when (operation.type) {
             is OfflineOperationType.CreateFolder -> {
-                if (operation.parentPath != null) {
-                    val createFolderOperation = withContext(Dispatchers.IO) {
-                        val operationType = (operation.type as OfflineOperationType.CreateFolder)
-                        CreateFolderOperation(
-                            operationType.path,
-                            user,
-                            context,
-                            fileDataStorageManager
-                        )
-                    }
-                    createFolderOperation.execute(client) to createFolderOperation
-                } else {
-                    Log_OC.d(TAG, "CreateFolder operation incomplete, missing parentPath")
-                    null
+                val createFolderOperation = withContext(Dispatchers.IO) {
+                    val operationType = (operation.type as OfflineOperationType.CreateFolder)
+                    CreateFolderOperation(
+                        operationType.path,
+                        user,
+                        context,
+                        fileDataStorageManager
+                    )
                 }
+                createFolderOperation.execute(client) to createFolderOperation
             }
 
             is OfflineOperationType.CreateFile -> {

+ 3 - 0
app/src/main/java/com/nextcloud/client/jobs/offlineOperations/repository/OfflineOperationsRepository.kt

@@ -82,6 +82,9 @@ class OfflineOperationsRepository(
                                     if (type is OfflineOperationType.CreateFile) {
                                         val updatedType = type as OfflineOperationType.CreateFile
                                         updatedType.remotePath = newPath
+                                    } else if (type is OfflineOperationType.CreateFolder) {
+                                        val updatedType = type as OfflineOperationType.CreateFolder
+                                        updatedType.path = newPath
                                     }
 
                                     parentPath = newParentPath

+ 10 - 8
app/src/main/java/com/owncloud/android/ui/adapter/OCFileListAdapter.java

@@ -781,16 +781,9 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
             mFiles = sortOrder.sortCloudFiles(mFiles);
             prepareListOfHiddenFiles();
             mergeOCFilesForLivePhoto();
+            addOfflineOperations();
             mFilesAll.clear();
             mFilesAll.addAll(mFiles);
-
-            List<OCFile> offlineOperations = mStorageManager.offlineOperationsRepository.convertToOCFiles();
-            for (OCFile offlineFile : offlineOperations) {
-                if (!mFilesAll.contains(offlineFile)) {
-                    mFilesAll.add(offlineFile);
-                }
-            }
-
             currentDirectory = directory;
         } else {
             mFiles.clear();
@@ -802,6 +795,15 @@ public class OCFileListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
         notifyDataSetChanged();
     }
 
+    private void addOfflineOperations() {
+        List<OCFile> offlineOperations = mStorageManager.offlineOperationsRepository.convertToOCFiles();
+        for (OCFile offlineFile : offlineOperations) {
+            if (!mFiles.contains(offlineFile)) {
+                mFiles.add(offlineFile);
+            }
+        }
+    }
+
     public void setData(List<Object> objects,
                         SearchType searchType,
                         FileDataStorageManager storageManager,