Using default singleton OwnCloudClientManager instead of holding a reference in appli...
[pub/Android/ownCloud.git] / src / com / owncloud / android / services / OperationsService.java
index bc0446b..3c56dea 100644 (file)
@@ -26,7 +26,9 @@ import java.util.concurrent.ConcurrentMap;
 import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.datamodel.FileDataStorageManager;
 import com.owncloud.android.MainApp;
 import com.owncloud.android.R;
 import com.owncloud.android.datamodel.FileDataStorageManager;
+import com.owncloud.android.lib.common.OwnCloudAccount;
 import com.owncloud.android.lib.common.OwnCloudClient;
 import com.owncloud.android.lib.common.OwnCloudClient;
+import com.owncloud.android.lib.common.OwnCloudClientManagerFactory;
 import com.owncloud.android.lib.common.OwnCloudCredentials;
 import com.owncloud.android.lib.common.OwnCloudCredentialsFactory;
 import com.owncloud.android.lib.common.accounts.AccountUtils.AccountNotFoundException;
 import com.owncloud.android.lib.common.OwnCloudCredentials;
 import com.owncloud.android.lib.common.OwnCloudCredentialsFactory;
 import com.owncloud.android.lib.common.accounts.AccountUtils.AccountNotFoundException;
@@ -176,7 +178,7 @@ public class OperationsService extends Service {
         //Log_OC.wtf(TAG, "onDestroy init" );
         // Saving cookies
         try {
         //Log_OC.wtf(TAG, "onDestroy init" );
         // Saving cookies
         try {
-            ((MainApp)getApplicationContext()).getOwnCloudClientManager().
+            OwnCloudClientManagerFactory.getDefaultSingleton().
                 saveAllClients(this, MainApp.getAccountType());
             
             // TODO - get rid of these exceptions
                 saveAllClients(this, MainApp.getAccountType());
             
             // TODO - get rid of these exceptions
@@ -469,10 +471,9 @@ public class OperationsService extends Service {
                 if (mLastTarget == null || !mLastTarget.equals(next.first)) {
                     mLastTarget = next.first;
                     if (mLastTarget.mAccount != null) {
                 if (mLastTarget == null || !mLastTarget.equals(next.first)) {
                     mLastTarget = next.first;
                     if (mLastTarget.mAccount != null) {
-                        mOwnCloudClient = ((MainApp)getApplicationContext()).
-                                getOwnCloudClientManager().getClientFor(
-                                        mLastTarget.mAccount, 
-                                        this);
+                        OwnCloudAccount ocAccount = new OwnCloudAccount(mLastTarget.mAccount, this);
+                        mOwnCloudClient = OwnCloudClientManagerFactory.getDefaultSingleton().
+                                getClientFor(ocAccount, this);
                         mStorageManager = 
                                 new FileDataStorageManager(
                                         mLastTarget.mAccount, 
                         mStorageManager = 
                                 new FileDataStorageManager(
                                         mLastTarget.mAccount, 
@@ -492,12 +493,10 @@ public class OperationsService extends Service {
                             credentials = OwnCloudCredentialsFactory.newSamlSsoCredentials(
                                     mLastTarget.mCookie); // SAML SSO
                         }
                             credentials = OwnCloudCredentialsFactory.newSamlSsoCredentials(
                                     mLastTarget.mCookie); // SAML SSO
                         }
-                        
-                        mOwnCloudClient = ((MainApp)getApplicationContext()).
-                                getOwnCloudClientManager().getClientFor(
-                                        mLastTarget.mServerUrl,
-                                        credentials,    // still can be null, and that is right
-                                        this);
+                        OwnCloudAccount ocAccount = new OwnCloudAccount(
+                                mLastTarget.mServerUrl, credentials);
+                        mOwnCloudClient = OwnCloudClientManagerFactory.getDefaultSingleton().
+                                getClientFor(ocAccount, this);
                         mOwnCloudClient.setFollowRedirects(mLastTarget.mFollowRedirects);
                         mStorageManager = null;
                     }
                         mOwnCloudClient.setFollowRedirects(mLastTarget.mFollowRedirects);
                         mStorageManager = null;
                     }