X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/399b8409f59677b84f7012306e54a1ec84d0a6af..e0937de63de3ec475d541a5a28fae303167b0e93:/src/eu/alefzero/owncloud/syncadapter/AbstractOwnCloudSyncAdapter.java diff --git a/src/eu/alefzero/owncloud/syncadapter/AbstractOwnCloudSyncAdapter.java b/src/eu/alefzero/owncloud/syncadapter/AbstractOwnCloudSyncAdapter.java index 41a0503e..5314e636 100644 --- a/src/eu/alefzero/owncloud/syncadapter/AbstractOwnCloudSyncAdapter.java +++ b/src/eu/alefzero/owncloud/syncadapter/AbstractOwnCloudSyncAdapter.java @@ -44,6 +44,7 @@ import android.net.Uri; import android.text.TextUtils; import android.util.Log; import eu.alefzero.owncloud.authenticator.AccountAuthenticator; +import eu.alefzero.owncloud.datamodel.DataStorageManager; import eu.alefzero.owncloud.datamodel.OCFile; import eu.alefzero.webdav.HttpPropFind; import eu.alefzero.webdav.TreeNode; @@ -65,6 +66,7 @@ public abstract class AbstractOwnCloudSyncAdapter extends private Account account; private ContentProviderClient contentProvider; private Date lastUpdated; + private DataStorageManager mStoreManager; private HttpHost mHost; private WebdavClient mClient = null; @@ -107,6 +109,14 @@ public abstract class AbstractOwnCloudSyncAdapter extends this.lastUpdated = lastUpdated; } + public void setStorageManager(DataStorageManager storage_manager) { + mStoreManager = storage_manager; + } + + public DataStorageManager getStorageManager() { + return mStoreManager; + } + protected ConnectionKeepAliveStrategy getKeepAliveStrategy() { return new ConnectionKeepAliveStrategy() { public long getKeepAliveDuration(HttpResponse response, @@ -143,12 +153,12 @@ public abstract class AbstractOwnCloudSyncAdapter extends protected HttpResponse fireRawRequest(HttpRequest query) throws ClientProtocolException, OperationCanceledException, AuthenticatorException, IOException { - BasicHttpContext httpContext = new BasicHttpContext(); + /*BasicHttpContext httpContext = new BasicHttpContext(); BasicScheme basicAuth = new BasicScheme(); httpContext.setAttribute("preemptive-auth", basicAuth); - HttpResponse response = getClient().execute(mHost, query, httpContext); - return response; + HttpResponse response = getClient().execute(mHost, query, httpContext);*/ + return null; } protected TreeNode fireRequest(HttpRequest query) @@ -158,8 +168,8 @@ public abstract class AbstractOwnCloudSyncAdapter extends TreeNode root = new TreeNode(); root.setProperty(TreeNode.NodeProperty.NAME, ""); - this.parseResponse(response, getUri(), getClient(), mHost, - root.getChildList(), false, 0); + //this.parseResponse(response, getUri(), getClient(), mHost, + // root.getChildList(), false, 0); return root; } @@ -168,7 +178,7 @@ public abstract class AbstractOwnCloudSyncAdapter extends AccountAuthenticator.KEY_OC_URL)); } - private DefaultHttpClient getClient() throws OperationCanceledException, + protected WebdavClient getClient() throws OperationCanceledException, AuthenticatorException, IOException { if (mClient == null) { String username = getAccount().name.split("@")[0]; @@ -186,7 +196,7 @@ public abstract class AbstractOwnCloudSyncAdapter extends mHost = mClient.getTargetHost(); } - return mClient.getHttpClient(); + return mClient; } private void parseResponse(HttpResponse resp, Uri uri, @@ -206,12 +216,13 @@ public abstract class AbstractOwnCloudSyncAdapter extends long mod = n.getProperty(NodeProperty.LAST_MODIFIED_DATE) == null ? 0 : Long.parseLong(n .getProperty(NodeProperty.LAST_MODIFIED_DATE)); - OCFile file = new OCFile(getContentProvider(), getAccount(), - n.getProperty(NodeProperty.PATH)); - if (file.fileExists() && file.getModificationTimestamp() >= mod) { + + OCFile file = getStorageManager().getFileByPath(n.getProperty(NodeProperty.PATH)); + if (file != null && file.fileExists() && file.getModificationTimestamp() >= mod) { Log.d(TAG, "No update for file/dir " + file.getFileName() + " is needed"); } else { + file = new OCFile(n.getProperty(NodeProperty.PATH)); Log.d(TAG, "File " + n.getProperty(NodeProperty.PATH) + " will be " + (file.fileExists() ? "updated" : "created")); @@ -221,10 +232,13 @@ public abstract class AbstractOwnCloudSyncAdapter extends long create = n.getProperty(NodeProperty.CREATE_DATE) == null ? 0 : Long.parseLong(n .getProperty(NodeProperty.CREATE_DATE)); - file = OCFile.createNewFile(getContentProvider(), getAccount(), - n.getProperty(NodeProperty.PATH), len, create, mod, - n.getProperty(NodeProperty.RESOURCE_TYPE), parent_id); - file.save(); + + file.setFileLength(len); + file.setCreationTimestamp(create); + file.setModificationTimestamp(mod); + file.setMimetype(n.getProperty(NodeProperty.RESOURCE_TYPE)); + file.setParentId(parent_id); + getStorageManager().saveFile(file); if (override_parent) { parent_id = file.getFileId(); override_parent = false;