X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/22a789e8d2cecffc6b445f4487ddaada2d6f5e4a..a1a31b68d989f0f9ac7d9ae101d149211008c06b:/src/com/owncloud/android/operations/SynchronizeFileOperation.java diff --git a/src/com/owncloud/android/operations/SynchronizeFileOperation.java b/src/com/owncloud/android/operations/SynchronizeFileOperation.java index 31dd5dc8..8bad631b 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,7 +90,7 @@ 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(); @@ -111,7 +113,7 @@ public class SynchronizeFileOperation extends RemoteOperation { serverChanged = (!mServerFile.getEtag().equals(mLocalFile.getEtag())); // TODO could this be dangerous when the user upgrades the server from non-tagged to tagged? } else { // server without etags - serverChanged = (mServerFile.getModificationTimestamp() > mLocalFile.getModificationTimestamp()); + serverChanged = (mServerFile.getModificationTimestamp() > mLocalFile.getModificationTimestampAtLastSyncForData()); } boolean localChanged = (mLocalChangeAlreadyKnown || mLocalFile.getLocalModificationTimestamp() > mLocalFile.getLastSyncDateForData()); // TODO this will be always true after the app is upgraded to database version 3; will result in unnecessary uploads @@ -212,7 +214,7 @@ public class SynchronizeFileOperation extends RemoteOperation { file.setCreationTimestamp(we.createTimestamp()); file.setFileLength(we.contentLength()); file.setMimetype(we.contentType()); - file.setModificationTimestamp(we.modifiedTimesamp()); + file.setModificationTimestamp(we.modifiedTimestamp()); return file; } @@ -221,4 +223,9 @@ public class SynchronizeFileOperation extends RemoteOperation { return mTransferWasRequested; } + + public OCFile getLocalFile() { + return mLocalFile; + } + }