import android.accounts.OperationCanceledException;\r
import android.content.AbstractThreadedSyncAdapter;\r
import android.content.ContentProviderClient;\r
+import android.content.ContentResolver;\r
import android.content.Context;\r
import android.net.Uri;\r
import android.text.TextUtils;\r
+import android.util.Log;\r
import eu.alefzero.owncloud.authenticator.AccountAuthenticator;\r
+import eu.alefzero.owncloud.datamodel.OCFile;\r
import eu.alefzero.webdav.HttpPropFind;\r
import eu.alefzero.webdav.TreeNode;\r
import eu.alefzero.webdav.WebdavClient;\r
HttpResponse response = fireRawRequest(query);
TreeNode root = new TreeNode();
- root.setProperty(TreeNode.NodeProperty.NAME, "/");
- this.parseResponse(response, getUri(), getClient(), mHost, root.getChildList());
+ root.setProperty(TreeNode.NodeProperty.NAME, "");
+ this.parseResponse(response, getUri(), getClient(), mHost, root.getChildList(), false, 0);
return root;
}
return mClient.getHttpClient();
}
- private void parseResponse(HttpResponse resp, Uri uri, DefaultHttpClient client, HttpHost targetHost, LinkedList<TreeNode> insertList) throws IOException, OperationCanceledException, AuthenticatorException {
- boolean skipFirst = true;
- for (TreeNode n :WebdavUtils.parseResponseToNodes(resp.getEntity().getContent())) {
- String path = n.stripPathFromFilename(uri.getPath());
- if (skipFirst) {
- skipFirst = false;
- continue;
+ private void parseResponse(HttpResponse resp, Uri uri, DefaultHttpClient client, HttpHost targetHost, LinkedList<TreeNode> insertList, boolean sf, long parent_id) throws IOException, OperationCanceledException, AuthenticatorException {
+ boolean skipFirst = sf, override_parent = true;
+ for (TreeNode n :WebdavUtils.parseResponseToNodes(resp.getEntity().getContent())) {\r
+ if (skipFirst) {\r
+ skipFirst = false;\r
+ continue;\r
+ }
+ String path = n.stripPathFromFilename(uri.getPath());\r
+ OCFile new_file = OCFile.createNewFile(getContentProvider(),\r
+ getAccount(),\r
+ n.getProperty(NodeProperty.PATH),\r
+ 0,//Long.parseLong(n.getProperty(NodeProperty.CONTENT_LENGTH)),\r
+ 0,//Long.parseLong(n.getProperty(NodeProperty.CREATE_DATE)),\r
+ 0,//Long.parseLong(n.getProperty(NodeProperty.LAST_MODIFIED_DATE)),\r
+ n.getProperty(NodeProperty.RESOURCE_TYPE),\r
+ parent_id);\r
+ new_file.save();\r
+ Log.e("ASD", new_file.getFileId()+"");\r
+ Log.e("ASD", new_file.getFileName()+"");\r
+ Log.e("ASD", new_file.getPath()+"");\r
+ if (override_parent) {\r
+ parent_id = new_file.getFileId();\r
+ override_parent = false;\r
}
- insertList.add(n);
if (!TextUtils.isEmpty(n.getProperty(NodeProperty.NAME)) &&
n.getProperty(NodeProperty.RESOURCE_TYPE).equals("DIR")) {
HttpPropFind method = new HttpPropFind(uri.getPath() + path + n.getProperty(NodeProperty.NAME).replace(" ", "%20") + "/");
HttpResponse response = fireRawRequest(method);
- parseResponse(response, uri, client, targetHost, n.getChildList());
+ parseResponse(response, uri, client, targetHost, n.getChildList(), true, new_file.getFileId());
}
}
}