X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/c301865c351da2c46c82cca268c0d7e32bc2fd83..e4bc3bdadc47c01e88dd1de94a4666d3753ee90e:/src/com/owncloud/android/operations/SynchronizeFileOperation.java?ds=inline diff --git a/src/com/owncloud/android/operations/SynchronizeFileOperation.java b/src/com/owncloud/android/operations/SynchronizeFileOperation.java index 77724d09..f98de115 100644 --- a/src/com/owncloud/android/operations/SynchronizeFileOperation.java +++ b/src/com/owncloud/android/operations/SynchronizeFileOperation.java @@ -40,7 +40,9 @@ import eu.alefzero.webdav.WebdavUtils; public class SynchronizeFileOperation extends RemoteOperation { private String TAG = SynchronizeFileOperation.class.getSimpleName(); - //private String mRemotePath; + private static final int SYNC_READ_TIMEOUT = 10000; + private static final int SYNC_CONNECTION_TIMEOUT = 5000; + private OCFile mLocalFile; private OCFile mServerFile; private DataStorageManager mStorageManager; @@ -88,13 +90,14 @@ public class SynchronizeFileOperation extends RemoteOperation { if (mServerFile == null) { /// take the duty of check the server for the current state of the file there propfind = new PropFindMethod(client.getBaseUri() + WebdavUtils.encodePath(mLocalFile.getRemotePath())); - int status = client.executeMethod(propfind); + int status = client.executeMethod(propfind, SYNC_READ_TIMEOUT, SYNC_CONNECTION_TIMEOUT); boolean isMultiStatus = status == HttpStatus.SC_MULTI_STATUS; if (isMultiStatus) { MultiStatus resp = propfind.getResponseBodyAsMultiStatus(); WebdavEntry we = new WebdavEntry(resp.getResponses()[0], client.getBaseUri().getPath()); mServerFile = fillOCFile(we); + mServerFile.setLastSyncDateForProperties(System.currentTimeMillis()); } else { client.exhaustResponse(propfind.getResponseBodyAsStream()); @@ -137,6 +140,8 @@ public class SynchronizeFileOperation extends RemoteOperation { } else { // TODO CHECK: is this really useful in some point in the code? mServerFile.setKeepInSync(mLocalFile.keepInSync()); + mServerFile.setLastSyncDateForData(mLocalFile.getLastSyncDateForData()); + mServerFile.setStoragePath(mLocalFile.getStoragePath()); mServerFile.setParentId(mLocalFile.getParentId()); mStorageManager.saveFile(mServerFile); @@ -210,8 +215,6 @@ public class SynchronizeFileOperation extends RemoteOperation { file.setFileLength(we.contentLength()); file.setMimetype(we.contentType()); file.setModificationTimestamp(we.modifiedTimesamp()); - file.setLastSyncDateForProperties(System.currentTimeMillis()); - file.setLastSyncDateForData(0); return file; }