From 2b5bb1fb90b469000f7f122a8fd725ab1349d3a9 Mon Sep 17 00:00:00 2001 From: "David A. Velasco" Date: Thu, 6 Dec 2012 15:28:12 +0100 Subject: [PATCH] Minimize the number of unnecessary file trasnfers after the upgrade to 1.3.16 for files already in the device --- .../android/operations/SynchronizeFolderOperation.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/com/owncloud/android/operations/SynchronizeFolderOperation.java b/src/com/owncloud/android/operations/SynchronizeFolderOperation.java index 271ea42e..008fb500 100644 --- a/src/com/owncloud/android/operations/SynchronizeFolderOperation.java +++ b/src/com/owncloud/android/operations/SynchronizeFolderOperation.java @@ -163,8 +163,18 @@ public class SynchronizeFolderOperation extends RemoteOperation { OCFile oldFile = mStorageManager.getFileByPath(file.getRemotePath()); if (oldFile != null) { file.setKeepInSync(oldFile.keepInSync()); - file.setLastSyncDateForData(oldFile.getLastSyncDateForData()); - file.setModificationTimestampAtLastSyncForData(oldFile.getModificationTimestampAtLastSyncForData()); // not local, but must be kept unchanged when the file contents are not updated + if (oldFile.isDown() && oldFile.getLastSyncDateForData() == 0) { + // only should be true after the upgrade to database version 3 (official 1.3.16 release) + file.setLastSyncDateForData(oldFile.getLocalModificationTimestamp()); // assume there are not local changes pending to upload + } else { + file.setLastSyncDateForData(oldFile.getLastSyncDateForData()); + } + if (oldFile.isDown() && oldFile.getModificationTimestampAtLastSyncForData() == 0) { + // only should be true after the upgrade to database version 4 (official 1.3.16 release) + file.setModificationTimestampAtLastSyncForData(oldFile.getModificationTimestamp()); // assume the file was downloaded not later than the last account synchronization + } else { + file.setModificationTimestampAtLastSyncForData(oldFile.getModificationTimestampAtLastSyncForData()); // not local, but must be kept unchanged when the file contents are not updated + } checkAndFixForeignStoragePath(oldFile); file.setStoragePath(oldFile.getStoragePath()); } -- 2.11.0