X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/c344de7b81a58ae7aeae1693db6a2953f8e98d99..ab3044dc821afd86a99a49ce30b9160e5f25e347:/src/com/owncloud/android/operations/SynchronizeFolderOperation.java diff --git a/src/com/owncloud/android/operations/SynchronizeFolderOperation.java b/src/com/owncloud/android/operations/SynchronizeFolderOperation.java index ff387c0f..0aae4a9c 100644 --- a/src/com/owncloud/android/operations/SynchronizeFolderOperation.java +++ b/src/com/owncloud/android/operations/SynchronizeFolderOperation.java @@ -36,13 +36,13 @@ import android.content.Intent; import com.owncloud.android.datamodel.FileDataStorageManager; import com.owncloud.android.datamodel.OCFile; -import com.owncloud.android.oc_framework.network.webdav.WebdavClient; -import com.owncloud.android.oc_framework.operations.RemoteOperation; -import com.owncloud.android.oc_framework.operations.RemoteOperationResult; -import com.owncloud.android.oc_framework.operations.RemoteOperationResult.ResultCode; -import com.owncloud.android.oc_framework.operations.remote.ReadRemoteFileOperation; -import com.owncloud.android.oc_framework.operations.remote.ReadRemoteFolderOperation; -import com.owncloud.android.oc_framework.operations.RemoteFile; +import com.owncloud.android.lib.network.OwnCloudClient; +import com.owncloud.android.lib.operations.common.RemoteOperation; +import com.owncloud.android.lib.operations.common.RemoteOperationResult; +import com.owncloud.android.lib.operations.common.RemoteOperationResult.ResultCode; +import com.owncloud.android.lib.operations.remote.ReadRemoteFileOperation; +import com.owncloud.android.lib.operations.remote.ReadRemoteFolderOperation; +import com.owncloud.android.lib.operations.common.RemoteFile; import com.owncloud.android.syncadapter.FileSyncService; import com.owncloud.android.utils.FileStorageUtils; import com.owncloud.android.utils.Log_OC; @@ -155,7 +155,7 @@ public class SynchronizeFolderOperation extends RemoteOperation { * {@inheritDoc} */ @Override - protected RemoteOperationResult run(WebdavClient client) { + protected RemoteOperationResult run(OwnCloudClient client) { RemoteOperationResult result = null; mFailsInFavouritesFound = 0; mConflictsFound = 0; @@ -180,7 +180,7 @@ public class SynchronizeFolderOperation extends RemoteOperation { } - private RemoteOperationResult checkForChanges(WebdavClient client) { + private RemoteOperationResult checkForChanges(OwnCloudClient client) { mRemoteFolderChanged = false; RemoteOperationResult result = null; String remotePath = null; @@ -192,7 +192,7 @@ public class SynchronizeFolderOperation extends RemoteOperation { ReadRemoteFileOperation operation = new ReadRemoteFileOperation(remotePath); result = operation.execute(client); if (result.isSuccess()){ - OCFile remoteFolder = FileStorageUtils.fillOCFile(result.getData().get(0)); + OCFile remoteFolder = FileStorageUtils.fillOCFile((RemoteFile) result.getData().get(0)); // check if remote and local folder are different mRemoteFolderChanged = !(remoteFolder.getEtag().equalsIgnoreCase(mLocalFolder.getEtag())); @@ -216,14 +216,18 @@ public class SynchronizeFolderOperation extends RemoteOperation { } - private RemoteOperationResult fetchAndSyncRemoteFolder(WebdavClient client) { + private RemoteOperationResult fetchAndSyncRemoteFolder(OwnCloudClient client) { String remotePath = mLocalFolder.getRemotePath(); ReadRemoteFolderOperation operation = new ReadRemoteFolderOperation(remotePath); RemoteOperationResult result = operation.execute(client); Log_OC.d(TAG, "Synchronizing " + mAccount.name + remotePath); if (result.isSuccess()) { - synchronizeData(result.getData(), client); + ArrayList remotes = new ArrayList(); + for(Object obj: result.getData()) { + remotes.add((RemoteFile) obj); + } + synchronizeData(remotes, client); if (mConflictsFound > 0 || mFailsInFavouritesFound > 0) { result = new RemoteOperationResult(ResultCode.SYNC_CONFLICT); // should be different result, but will do the job } @@ -256,7 +260,7 @@ public class SynchronizeFolderOperation extends RemoteOperation { * retrieved. * @return 'True' when any change was made in the local data, 'false' otherwise. */ - private void synchronizeData(ArrayList folderAndFiles, WebdavClient client) { + private void synchronizeData(ArrayList folderAndFiles, OwnCloudClient client) { // get 'fresh data' from the database mLocalFolder = mStorageManager.getFileByPath(mLocalFolder.getRemotePath()); @@ -348,7 +352,7 @@ public class SynchronizeFolderOperation extends RemoteOperation { * @param filesToSyncContents Synchronization operations to execute. * @param client Interface to the remote ownCloud server. */ - private void startContentSynchronizations(List filesToSyncContents, WebdavClient client) { + private void startContentSynchronizations(List filesToSyncContents, OwnCloudClient client) { RemoteOperationResult contentsResult = null; for (SynchronizeFileOperation op: filesToSyncContents) { contentsResult = op.execute(client); // returns without waiting for upload or download finishes