浏览代码

Merge pull request #4647 from nextcloud/fixVanishingImages

Fix vanishing images
Andy Scherzinger 5 年之前
父节点
当前提交
af7bf9b2f7

+ 7 - 1
src/main/java/com/owncloud/android/datamodel/FileDataStorageManager.java

@@ -343,10 +343,16 @@ public class FileDataStorageManager {
             ContentValues cv = createContentValueForFile(file, folder);
 
             if (fileExists(file.getFileId()) || fileExists(file.getRemotePath())) {
+                long fileId;
+                if (file.getFileId() != -1) {
+                    fileId = file.getFileId();
+                } else {
+                    fileId = getFileByPath(file.getRemotePath()).getFileId();
+                }
                 // updating an existing file
                 operations.add(ContentProviderOperation.newUpdate(ProviderTableMeta.CONTENT_URI)
                         .withValues(cv)
-                        .withSelection(ProviderTableMeta._ID + "=?", new String[]{String.valueOf(file.getFileId())})
+                                   .withSelection(ProviderTableMeta._ID + "=?", new String[]{String.valueOf(fileId)})
                         .build());
             } else {
                 // adding a new file

+ 4 - 0
src/main/java/com/owncloud/android/operations/RefreshFolderOperation.java

@@ -416,6 +416,10 @@ public class RefreshFolderOperation extends RemoteOperation {
             // retrieve local data for the read file
             localFile = localFilesMap.remove(remoteFile.getRemotePath());
 
+            if (localFile == null) {
+                localFile = mStorageManager.getFileByPath(updatedFile.getRemotePath());
+            }
+
             // add to updatedFile data about LOCAL STATE (not existing in server)
             updatedFile.setLastSyncDateForProperties(mCurrentSyncTime);