From: David A. Velasco Date: Fri, 13 Jun 2014 11:44:36 +0000 (+0200) Subject: Using default singleton OwnCloudClientManager instead of holding a reference in appli... X-Git-Tag: oc-android-1.7.0_signed~264^2~14 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/8b3c9f14dc08d799996da01f18ca369643a3c61d?ds=inline Using default singleton OwnCloudClientManager instead of holding a reference in application context --- diff --git a/owncloud-android-library b/owncloud-android-library index 9be13237..7e2ec104 160000 --- a/owncloud-android-library +++ b/owncloud-android-library @@ -1 +1 @@ -Subproject commit 9be1323745d8b6cf519315ce2641ab41e808a04b +Subproject commit 7e2ec10442a435b097b7cee48a7529e30b364277 diff --git a/src/com/owncloud/android/MainApp.java b/src/com/owncloud/android/MainApp.java index 0858a66b..4f77b2b4 100644 --- a/src/com/owncloud/android/MainApp.java +++ b/src/com/owncloud/android/MainApp.java @@ -16,7 +16,6 @@ */ package com.owncloud.android; -import com.owncloud.android.lib.common.OwnCloudClientManager; import com.owncloud.android.lib.common.OwnCloudClientManagerFactory; import com.owncloud.android.lib.common.OwnCloudClientManagerFactory.Policy; @@ -25,7 +24,8 @@ import android.content.Context; /** * Main Application of the project * - * Contains methods to build the "static" strings. These strings were before constants in different classes + * Contains methods to build the "static" strings. These strings were before constants in different + * classes * * @author masensio * @author David A. Velasco @@ -38,8 +38,6 @@ public class MainApp extends Application { private static Context mContext; - private OwnCloudClientManager mOwnCloudClientManager; - public void onCreate(){ super.onCreate(); MainApp.mContext = getApplicationContext(); @@ -48,12 +46,10 @@ public class MainApp extends Application { if (clientPolicy != null && POLICY_SINGLE_SESSION_PER_ACCOUNT.equals(clientPolicy.toLowerCase())) { - mOwnCloudClientManager = OwnCloudClientManagerFactory.newOwnCloudClientManager( - Policy.SINGLE_SESSION_PER_ACCOUNT); + OwnCloudClientManagerFactory.setDefaultPolicy(Policy.SINGLE_SESSION_PER_ACCOUNT); } else { - mOwnCloudClientManager = OwnCloudClientManagerFactory.newOwnCloudClientManager( - Policy.ALWAYS_NEW_CLIENT); + OwnCloudClientManagerFactory.setDefaultPolicy(Policy.ALWAYS_NEW_CLIENT); } } @@ -103,7 +99,4 @@ public class MainApp extends Application { return getAppContext().getResources().getString(R.string.log_name); } - public OwnCloudClientManager getOwnCloudClientManager() { - return mOwnCloudClientManager; - } } diff --git a/src/com/owncloud/android/files/services/FileDownloader.java b/src/com/owncloud/android/files/services/FileDownloader.java index 884cb7e0..2e60636b 100644 --- a/src/com/owncloud/android/files/services/FileDownloader.java +++ b/src/com/owncloud/android/files/services/FileDownloader.java @@ -37,6 +37,7 @@ import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.lib.common.network.OnDatatransferProgressListener; import com.owncloud.android.lib.common.OwnCloudAccount; import com.owncloud.android.lib.common.OwnCloudClient; +import com.owncloud.android.lib.common.OwnCloudClientManagerFactory; import com.owncloud.android.notifications.NotificationBuilderWithProgressBar; import com.owncloud.android.notifications.NotificationDelayer; import com.owncloud.android.lib.common.operations.RemoteOperationResult; @@ -351,7 +352,7 @@ public class FileDownloader extends Service implements OnDatatransferProgressLis mStorageManager = new FileDataStorageManager(mLastAccount, getContentResolver()); OwnCloudAccount ocAccount = new OwnCloudAccount(mLastAccount, this); - mDownloadClient = ((MainApp)getApplicationContext()).getOwnCloudClientManager(). + mDownloadClient = OwnCloudClientManagerFactory.getDefaultSingleton(). getClientFor(ocAccount, this); } diff --git a/src/com/owncloud/android/files/services/FileUploader.java b/src/com/owncloud/android/files/services/FileUploader.java index 978cd85c..607193c2 100644 --- a/src/com/owncloud/android/files/services/FileUploader.java +++ b/src/com/owncloud/android/files/services/FileUploader.java @@ -51,6 +51,7 @@ import com.owncloud.android.lib.common.accounts.AccountUtils.Constants; import com.owncloud.android.lib.common.network.OnDatatransferProgressListener; import com.owncloud.android.lib.common.OwnCloudAccount; import com.owncloud.android.lib.common.OwnCloudClient; +import com.owncloud.android.lib.common.OwnCloudClientManagerFactory; import com.owncloud.android.ui.activity.FailedUploadActivity; import com.owncloud.android.ui.activity.FileActivity; import com.owncloud.android.ui.activity.FileDisplayActivity; @@ -490,7 +491,7 @@ public class FileUploader extends Service implements OnDatatransferProgressListe mStorageManager = new FileDataStorageManager(mLastAccount, getContentResolver()); OwnCloudAccount ocAccount = new OwnCloudAccount(mLastAccount, this); - mUploadClient = ((MainApp)getApplicationContext()).getOwnCloudClientManager(). + mUploadClient = OwnCloudClientManagerFactory.getDefaultSingleton(). getClientFor(ocAccount, this); } diff --git a/src/com/owncloud/android/services/OperationsService.java b/src/com/owncloud/android/services/OperationsService.java index b9f8846e..3c56dea3 100644 --- a/src/com/owncloud/android/services/OperationsService.java +++ b/src/com/owncloud/android/services/OperationsService.java @@ -28,6 +28,7 @@ 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.OwnCloudClientManagerFactory; import com.owncloud.android.lib.common.OwnCloudCredentials; import com.owncloud.android.lib.common.OwnCloudCredentialsFactory; import com.owncloud.android.lib.common.accounts.AccountUtils.AccountNotFoundException; @@ -177,7 +178,7 @@ public class OperationsService extends Service { //Log_OC.wtf(TAG, "onDestroy init" ); // Saving cookies try { - ((MainApp)getApplicationContext()).getOwnCloudClientManager(). + OwnCloudClientManagerFactory.getDefaultSingleton(). saveAllClients(this, MainApp.getAccountType()); // TODO - get rid of these exceptions @@ -471,8 +472,8 @@ public class OperationsService extends Service { mLastTarget = next.first; if (mLastTarget.mAccount != null) { OwnCloudAccount ocAccount = new OwnCloudAccount(mLastTarget.mAccount, this); - mOwnCloudClient = ((MainApp)getApplicationContext()). - getOwnCloudClientManager().getClientFor(ocAccount, this); + mOwnCloudClient = OwnCloudClientManagerFactory.getDefaultSingleton(). + getClientFor(ocAccount, this); mStorageManager = new FileDataStorageManager( mLastTarget.mAccount, @@ -494,8 +495,8 @@ public class OperationsService extends Service { } OwnCloudAccount ocAccount = new OwnCloudAccount( mLastTarget.mServerUrl, credentials); - mOwnCloudClient = ((MainApp)getApplicationContext()). - getOwnCloudClientManager().getClientFor(ocAccount, this); + mOwnCloudClient = OwnCloudClientManagerFactory.getDefaultSingleton(). + getClientFor(ocAccount, this); mOwnCloudClient.setFollowRedirects(mLastTarget.mFollowRedirects); mStorageManager = null; } diff --git a/src/com/owncloud/android/syncadapter/AbstractOwnCloudSyncAdapter.java b/src/com/owncloud/android/syncadapter/AbstractOwnCloudSyncAdapter.java index 15120943..6fe23e78 100644 --- a/src/com/owncloud/android/syncadapter/AbstractOwnCloudSyncAdapter.java +++ b/src/com/owncloud/android/syncadapter/AbstractOwnCloudSyncAdapter.java @@ -30,6 +30,7 @@ import com.owncloud.android.lib.common.accounts.AccountUtils; import com.owncloud.android.lib.common.accounts.AccountUtils.AccountNotFoundException; import com.owncloud.android.lib.common.OwnCloudAccount; import com.owncloud.android.lib.common.OwnCloudClient; +import com.owncloud.android.lib.common.OwnCloudClientManagerFactory; import android.accounts.Account; import android.accounts.AccountManager; @@ -103,7 +104,7 @@ public abstract class AbstractOwnCloudSyncAdapter extends protected void initClientForCurrentAccount() throws OperationCanceledException, AuthenticatorException, IOException, AccountNotFoundException { AccountUtils.constructFullURLForAccount(getContext(), account); OwnCloudAccount ocAccount = new OwnCloudAccount(account, getContext()); - mClient = ((MainApp)(getContext().getApplicationContext())).getOwnCloudClientManager(). + mClient = OwnCloudClientManagerFactory.getDefaultSingleton(). getClientFor(ocAccount, getContext()); } diff --git a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java index dba6e81d..061f4829 100644 --- a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -73,6 +73,7 @@ import com.owncloud.android.files.services.FileUploader.FileUploaderBinder; import com.owncloud.android.operations.CreateFolderOperation; 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.accounts.AccountUtils.AccountNotFoundException; import com.owncloud.android.lib.common.network.CertificateCombinedException; @@ -936,10 +937,10 @@ FileFragment.ContainerActivity, OnNavigationListener, OnSslUntrustedCertListener OwnCloudClient client = null; try { - client = ((MainApp)getApplicationContext()). - getOwnCloudClientManager().removeClientFor( + client = (OwnCloudClientManagerFactory.getDefaultSingleton(). + removeClientFor( getAccount(), - context); + context)); // TODO get rid of these exceptions } catch (AccountNotFoundException e) { e.printStackTrace();