Merge pull request #1048 from owncloud/shareWithYou_icon_in_fileList
[pub/Android/ownCloud.git] / src / com / owncloud / android / syncadapter / AbstractOwnCloudSyncAdapter.java
index 34ef452..4740310 100644 (file)
@@ -1,6 +1,10 @@
-/* ownCloud Android client application\r
+/**\r
+ *   ownCloud Android client application\r
+ *\r
+ *   @author sassman\r
+ *   @author David A. Velasco\r
  *   Copyright (C) 2011  Bartek Przybylski\r
- *   Copyright (C) 2012-2013 ownCloud Inc.\r
+ *   Copyright (C) 2015 ownCloud Inc.\r
  *\r
  *   This program is free software: you can redistribute it and/or modify\r
  *   it under the terms of the GNU General Public License version 2,\r
@@ -24,10 +28,13 @@ import org.apache.http.HttpRequest;
 import org.apache.http.HttpResponse;\r
 import org.apache.http.client.ClientProtocolException;\r
 \r
-import com.owncloud.android.authentication.AccountUtils;\r
-import com.owncloud.android.authentication.AccountUtils.AccountNotFoundException;\r
+import com.owncloud.android.MainApp;\r
 import com.owncloud.android.datamodel.FileDataStorageManager;\r
-import com.owncloud.android.network.OwnCloudClientUtils;\r
+import com.owncloud.android.lib.common.accounts.AccountUtils;\r
+import com.owncloud.android.lib.common.accounts.AccountUtils.AccountNotFoundException;\r
+import com.owncloud.android.lib.common.OwnCloudAccount;\r
+import com.owncloud.android.lib.common.OwnCloudClient;\r
+import com.owncloud.android.lib.common.OwnCloudClientManagerFactory;\r
 \r
 import android.accounts.Account;\r
 import android.accounts.AccountManager;\r
@@ -36,32 +43,34 @@ import android.accounts.OperationCanceledException;
 import android.content.AbstractThreadedSyncAdapter;\r
 import android.content.ContentProviderClient;\r
 import android.content.Context;\r
-import eu.alefzero.webdav.WebdavClient;\r
 \r
 /**\r
  * Base synchronization adapter for ownCloud designed to be subclassed for different\r
  * resource types, like FileSync, ConcatsSync, CalendarSync, etc..\r
  * \r
  * Implements the standard {@link AbstractThreadedSyncAdapter}.\r
- * \r
- * @author sassman\r
- * @author David A. Velasco\r
  */\r
 public abstract class AbstractOwnCloudSyncAdapter extends\r
         AbstractThreadedSyncAdapter {\r
 \r
     private AccountManager accountManager;\r
     private Account account;\r
-    private ContentProviderClient contentProvider;\r
+    private ContentProviderClient mContentProviderClient;\r
     private FileDataStorageManager mStoreManager;\r
 \r
-    private WebdavClient mClient = null;\r
+    private OwnCloudClient mClient = null;\r
 \r
     public AbstractOwnCloudSyncAdapter(Context context, boolean autoInitialize) {\r
         super(context, autoInitialize);\r
         this.setAccountManager(AccountManager.get(context));\r
     }\r
 \r
+    public AbstractOwnCloudSyncAdapter(Context context, boolean autoInitialize,\r
+                                       boolean allowParallelSyncs) {\r
+        super(context, autoInitialize, allowParallelSyncs);\r
+        this.setAccountManager(AccountManager.get(context));\r
+    }\r
+\r
     public AccountManager getAccountManager() {\r
         return accountManager;\r
     }\r
@@ -78,12 +87,12 @@ public abstract class AbstractOwnCloudSyncAdapter extends
         this.account = account;\r
     }\r
 \r
-    public ContentProviderClient getContentProvider() {\r
-        return contentProvider;\r
+    public ContentProviderClient getContentProviderClient() {\r
+        return mContentProviderClient;\r
     }\r
 \r
-    public void setContentProvider(ContentProviderClient contentProvider) {\r
-        this.contentProvider = contentProvider;\r
+    public void setContentProviderClient(ContentProviderClient contentProvider) {\r
+        this.mContentProviderClient = contentProvider;\r
     }\r
 \r
     public void setStorageManager(FileDataStorageManager storage_manager) {\r
@@ -94,12 +103,15 @@ public abstract class AbstractOwnCloudSyncAdapter extends
         return mStoreManager;\r
     }\r
 \r
-    protected void initClientForCurrentAccount() throws OperationCanceledException, AuthenticatorException, IOException, AccountNotFoundException {\r
+    protected void initClientForCurrentAccount() throws OperationCanceledException,\r
+            AuthenticatorException, IOException, AccountNotFoundException {\r
         AccountUtils.constructFullURLForAccount(getContext(), account);\r
-        mClient = OwnCloudClientUtils.createOwnCloudClient(account, getContext());\r
+        OwnCloudAccount ocAccount = new OwnCloudAccount(account, getContext());\r
+        mClient = OwnCloudClientManagerFactory.getDefaultSingleton().\r
+                getClientFor(ocAccount, getContext());\r
     }\r
     \r
-    protected WebdavClient getClient() {\r
+    protected OwnCloudClient getClient() {\r
         return mClient;\r
     }\r
     \r