import com.owncloud.android.files.services.FileDownloader;
import com.owncloud.android.lib.common.OwnCloudClient;
import com.owncloud.android.lib.common.operations.OperationCancelledException;
+import com.owncloud.android.lib.common.operations.RemoteOperation;
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
import com.owncloud.android.lib.common.utils.Log_OC;
synchronized(mCancellationRequested) {
if (mCancellationRequested.get()) {
+ // Cancel each operation in mFoldersToWalkDown
+ for (SyncOperation synchOp: mFoldersToWalkDown) {
+ ((SynchronizeFolderOperation) synchOp).cancel();
+ }
return new RemoteOperationResult(new OperationCancelledException());
}
}
startDirectDownloads();
startContentSynchronizations(mFilesToSyncContentsWithoutUpload, client);
startContentSynchronizations(mFavouriteFilesToSyncContents, client);
- walkSubfolders(mFoldersToWalkDown, client); // this must be the last!
+ walkSubfolders(client); // this must be the last!
}
}
- private void walkSubfolders(List<SyncOperation> foldersToWalkDown, OwnCloudClient client) {
+ private void walkSubfolders(OwnCloudClient client) {
RemoteOperationResult contentsResult = null;
- for (SyncOperation op: foldersToWalkDown) {
+ for (SyncOperation op: mFoldersToWalkDown) {
contentsResult = op.execute(client, getStorageManager()); // to watch out: possibly deep recursion
if (!contentsResult.isSuccess()) {
// TODO - some kind of error count, and use it with notifications
* Cancel operation
*/
public void cancel(){
- // WIP Cancel the sync operation
mCancellationRequested.set(true);
}
-
}