From: David A. Velasco Date: Thu, 6 Dec 2012 14:28:12 +0000 (+0100) Subject: Minimize the number of unnecessary file trasnfers after the upgrade to 1.3.16 for... X-Git-Tag: oc-android-1.4.3~78 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/2b5bb1fb90b469000f7f122a8fd725ab1349d3a9 Minimize the number of unnecessary file trasnfers after the upgrade to 1.3.16 for files already in the device --- 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()); }