X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/8c6e0692938469495918abd40c4448a045733201..cea1a76f48ceb400136e64b4fb921a3f92aee6e4:/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 0aae4a9c..97c7a083 100644 --- a/src/com/owncloud/android/operations/SynchronizeFolderOperation.java +++ b/src/com/owncloud/android/operations/SynchronizeFolderOperation.java @@ -33,6 +33,7 @@ import org.apache.http.HttpStatus; import android.accounts.Account; import android.content.Context; import android.content.Intent; +import android.support.v4.content.LocalBroadcastManager; import com.owncloud.android.datamodel.FileDataStorageManager; import com.owncloud.android.datamodel.OCFile; @@ -43,7 +44,7 @@ import com.owncloud.android.lib.operations.common.RemoteOperationResult.ResultCo 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.syncadapter.FileSyncAdapter; import com.owncloud.android.utils.FileStorageUtils; import com.owncloud.android.utils.Log_OC; @@ -64,6 +65,7 @@ public class SynchronizeFolderOperation extends RemoteOperation { private static final String TAG = SynchronizeFolderOperation.class.getSimpleName(); + public static final String EVENT_SINGLE_FOLDER_SYNCED = SynchronizeFolderOperation.class.getName() + ".EVENT_SINGLE_FOLDER_SYNCED"; /** Time stamp for the synchronization process in progress */ private long mCurrentSyncTime; @@ -172,7 +174,7 @@ public class SynchronizeFolderOperation extends RemoteOperation { } if (!mSyncFullAccount) { - sendStickyBroadcast(false, mLocalFolder.getRemotePath(), result); + sendLocalBroadcast(mLocalFolder.getRemotePath(), result); } return result; @@ -223,11 +225,7 @@ public class SynchronizeFolderOperation extends RemoteOperation { Log_OC.d(TAG, "Synchronizing " + mAccount.name + remotePath); if (result.isSuccess()) { - ArrayList remotes = new ArrayList(); - for(Object obj: result.getData()) { - remotes.add((RemoteFile) obj); - } - synchronizeData(remotes, client); + synchronizeData(result.getData(), client); if (mConflictsFound > 0 || mFailsInFavouritesFound > 0) { result = new RemoteOperationResult(ResultCode.SYNC_CONFLICT); // should be different result, but will do the job } @@ -260,12 +258,12 @@ public class SynchronizeFolderOperation extends RemoteOperation { * retrieved. * @return 'True' when any change was made in the local data, 'false' otherwise. */ - private void synchronizeData(ArrayList folderAndFiles, OwnCloudClient client) { + private void synchronizeData(ArrayList folderAndFiles, OwnCloudClient client) { // get 'fresh data' from the database mLocalFolder = mStorageManager.getFileByPath(mLocalFolder.getRemotePath()); // parse data from remote folder - OCFile remoteFolder = fillOCFile(folderAndFiles.get(0)); + OCFile remoteFolder = fillOCFile((RemoteFile)folderAndFiles.get(0)); remoteFolder.setParentId(mLocalFolder.getParentId()); remoteFolder.setFileId(mLocalFolder.getFileId()); @@ -285,7 +283,7 @@ public class SynchronizeFolderOperation extends RemoteOperation { OCFile remoteFile = null, localFile = null; for (int i=1; i