X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/7c2174d09e376ecc5ebd9a510a66dc7582b173f9..882668c5d90e1b0871a413a9e082c67fe1b26fef:/src/eu/alefzero/owncloud/syncadapter/FileSyncAdapter.java diff --git a/src/eu/alefzero/owncloud/syncadapter/FileSyncAdapter.java b/src/eu/alefzero/owncloud/syncadapter/FileSyncAdapter.java index 230d3a75..0bd2ec2b 100644 --- a/src/eu/alefzero/owncloud/syncadapter/FileSyncAdapter.java +++ b/src/eu/alefzero/owncloud/syncadapter/FileSyncAdapter.java @@ -21,7 +21,9 @@ package eu.alefzero.owncloud.syncadapter; import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; +import java.util.LinkedList; import java.util.List; +import java.util.Queue; import java.util.Vector; import org.apache.jackrabbit.webdav.DavException; @@ -70,7 +72,7 @@ public class FileSyncAdapter extends AbstractOwnCloudSyncAdapter { Log.d(TAG, "syncing owncloud account " + account.name); - sendStickyBroadcast(true, -1); // starting message to UI + sendStickyBroadcast(true, -1); // message to signal the start to the UI PropFindMethod query; try { @@ -108,8 +110,8 @@ public class FileSyncAdapter extends AbstractOwnCloudSyncAdapter { getClient().executeMethod(query); MultiStatus resp = null; resp = query.getResponseBodyAsMultiStatus(); - List paths = new ArrayList(); - List fileIds = new ArrayList(); + Queue paths = new LinkedList(); + Queue fileIds = new LinkedList(); for (int i = 1; i < resp.getResponses().length; ++i) { WebdavEntry we = new WebdavEntry(resp.getResponses()[i], getUri().getPath()); OCFile file = fillOCFile(we); @@ -135,11 +137,11 @@ public class FileSyncAdapter extends AbstractOwnCloudSyncAdapter { sendStickyBroadcast(true, parentId); // recursive fetch - Iterator pathsIt = paths.iterator(); - Iterator fileIdsIt = fileIds.iterator(); - while (pathsIt.hasNext()) { - fetchData(getUri().toString() + pathsIt.next(), syncResult, fileIdsIt.next()); + while(!paths.isEmpty()) { + fetchData(getUri().toString() + paths.remove(), syncResult, fileIds.remove()); } + paths = null; + fileIds = null; } catch (OperationCanceledException e) {