From 9be1323745d8b6cf519315ce2641ab41e808a04b Mon Sep 17 00:00:00 2001 From: "David A. Velasco" Date: Fri, 13 Jun 2014 12:42:40 +0200 Subject: [PATCH] Removed duplication of OwnCloudClientManager#getClientFor methods with different parameter types --- .../android/lib/common/OwnCloudAccount.java | 2 +- .../android/lib/common/OwnCloudClientManager.java | 9 +++++---- .../android/lib/common/SimpleFactoryManager.java | 9 ++++----- .../android/lib/common/SingleSessionManager.java | 15 +++++++++------ .../android/lib/common/accounts/AccountUtils.java | 3 +++ .../lib/common/operations/RemoteOperation.java | 7 +++++-- 6 files changed, 27 insertions(+), 18 deletions(-) diff --git a/src/com/owncloud/android/lib/common/OwnCloudAccount.java b/src/com/owncloud/android/lib/common/OwnCloudAccount.java index ff0cf3dd..993cd74a 100644 --- a/src/com/owncloud/android/lib/common/OwnCloudAccount.java +++ b/src/com/owncloud/android/lib/common/OwnCloudAccount.java @@ -68,7 +68,7 @@ public class OwnCloudAccount { mBaseUri = baseUri; mCredentials = credentials != null ? credentials : OwnCloudCredentialsFactory.getAnonymousCredentials(); - String username = credentials.getUsername(); + String username = mCredentials.getUsername(); if (username != null) { mSavedAccountName = AccountUtils.buildAccountName(mBaseUri, username); } diff --git a/src/com/owncloud/android/lib/common/OwnCloudClientManager.java b/src/com/owncloud/android/lib/common/OwnCloudClientManager.java index 0dc87e4a..25aa4639 100644 --- a/src/com/owncloud/android/lib/common/OwnCloudClientManager.java +++ b/src/com/owncloud/android/lib/common/OwnCloudClientManager.java @@ -30,7 +30,6 @@ import android.accounts.Account; import android.accounts.AuthenticatorException; import android.accounts.OperationCanceledException; import android.content.Context; -import android.net.Uri; import com.owncloud.android.lib.common.accounts.AccountUtils.AccountNotFoundException; @@ -44,13 +43,17 @@ import com.owncloud.android.lib.common.accounts.AccountUtils.AccountNotFoundExce public interface OwnCloudClientManager { + public OwnCloudClient getClientFor(OwnCloudAccount account, Context context); + + /* public OwnCloudClient getClientFor(Account savedAccount, Context context) throws AccountNotFoundException, AuthenticatorException, IOException, OperationCanceledException; public OwnCloudClient getClientFor( Uri serverBaseUri, OwnCloudCredentials credentials, Context context); - + */ + public void saveAllClients(Context context, String accountType) throws AccountNotFoundException, AuthenticatorException, IOException, OperationCanceledException; @@ -59,6 +62,4 @@ public interface OwnCloudClientManager { throws AccountNotFoundException, AuthenticatorException, IOException, OperationCanceledException; - public OwnCloudClient getClientFor(OwnCloudAccount account, Context context); - } diff --git a/src/com/owncloud/android/lib/common/SimpleFactoryManager.java b/src/com/owncloud/android/lib/common/SimpleFactoryManager.java index 012b9303..3f63e959 100644 --- a/src/com/owncloud/android/lib/common/SimpleFactoryManager.java +++ b/src/com/owncloud/android/lib/common/SimpleFactoryManager.java @@ -1,6 +1,5 @@ package com.owncloud.android.lib.common; -import java.io.IOException; import android.accounts.Account; import android.accounts.AuthenticatorException; @@ -13,7 +12,7 @@ import com.owncloud.android.lib.common.accounts.AccountUtils.AccountNotFoundExce public class SimpleFactoryManager implements OwnCloudClientManager { - private static final String TAG = OwnCloudClientManager.class.getSimpleName(); + private static final String TAG = SimpleFactoryManager.class.getSimpleName(); @Override public OwnCloudClient getClientFor(OwnCloudAccount account, Context context) { @@ -28,7 +27,7 @@ public class SimpleFactoryManager implements OwnCloudClientManager { return client; } - + /* @Override public OwnCloudClient getClientFor(Account savedAccount, Context context) throws OperationCanceledException, AuthenticatorException, AccountNotFoundException, @@ -57,7 +56,8 @@ public class SimpleFactoryManager implements OwnCloudClientManager { Log.d(TAG, " new client " + client.hashCode()); return client; } - + */ + @Override public void saveAllClients(Context context, String accountType) { // TODO Auto-generated method stub @@ -66,7 +66,6 @@ public class SimpleFactoryManager implements OwnCloudClientManager { @Override public OwnCloudClient removeClientFor(Account account, Context context) { - // TODO Auto-generated method stub return null; } diff --git a/src/com/owncloud/android/lib/common/SingleSessionManager.java b/src/com/owncloud/android/lib/common/SingleSessionManager.java index 4a9551b0..f427c8f4 100644 --- a/src/com/owncloud/android/lib/common/SingleSessionManager.java +++ b/src/com/owncloud/android/lib/common/SingleSessionManager.java @@ -58,8 +58,6 @@ public class SingleSessionManager implements OwnCloudClientManager { private static final String TAG = SingleSessionManager.class.getSimpleName(); - private static OwnCloudClientManager mInstance = null; - private Map> mClientsPerServer = new HashMap>(); @@ -86,6 +84,7 @@ public class SingleSessionManager implements OwnCloudClientManager { if (accountName != null) { client = mClientsWithKnownUsername.get(accountName); } + boolean reusingKnown = false; // just for logs if (client == null) { if (accountName != null) { client = mClientsWithUnknownUsername.remove(sessionName); @@ -99,6 +98,7 @@ public class SingleSessionManager implements OwnCloudClientManager { } } else { Log.d(TAG, " reusing client {" + accountName + ", " + client.hashCode() + "}"); + reusingKnown = true; } if (client == null) { @@ -121,13 +121,15 @@ public class SingleSessionManager implements OwnCloudClientManager { Log.d(TAG, " new client {" + sessionName + ", " + client.hashCode() + "}"); } } else { - Log.d(TAG, " reusing client {" + sessionName + ", " + client.hashCode() + "}"); + if (!reusingKnown) { + Log.d(TAG, " reusing client {" + sessionName + ", " + client.hashCode() + "}"); + } } return client; } - + /* @Override public synchronized OwnCloudClient getClientFor(Account savedAccount, Context context) throws OperationCanceledException, AuthenticatorException, AccountNotFoundException, @@ -147,8 +149,9 @@ public class SingleSessionManager implements OwnCloudClientManager { return client; } + */ - + /* @Override public synchronized OwnCloudClient getClientFor( Uri serverBaseUri, OwnCloudCredentials credentials, Context context) { @@ -186,7 +189,7 @@ public class SingleSessionManager implements OwnCloudClientManager { return client; } - + */ @Override public synchronized OwnCloudClient removeClientFor(Account savedAccount, Context context) diff --git a/src/com/owncloud/android/lib/common/accounts/AccountUtils.java b/src/com/owncloud/android/lib/common/accounts/AccountUtils.java index b70b24e1..b061c2e5 100644 --- a/src/com/owncloud/android/lib/common/accounts/AccountUtils.java +++ b/src/com/owncloud/android/lib/common/accounts/AccountUtils.java @@ -200,6 +200,9 @@ public class AccountUtils { public static String buildAccountName(Uri serverBaseUrl, String username) { + if (serverBaseUrl.getScheme() == null) { + serverBaseUrl = Uri.parse("https://" + serverBaseUrl.toString()); + } String accountName = username + "@" + serverBaseUrl.getHost(); if (serverBaseUrl.getPort() >= 0) { accountName += ":" + serverBaseUrl.getPort(); diff --git a/src/com/owncloud/android/lib/common/operations/RemoteOperation.java b/src/com/owncloud/android/lib/common/operations/RemoteOperation.java index 5476f166..1384bd7a 100644 --- a/src/com/owncloud/android/lib/common/operations/RemoteOperation.java +++ b/src/com/owncloud/android/lib/common/operations/RemoteOperation.java @@ -26,6 +26,7 @@ package com.owncloud.android.lib.common.operations; import java.io.IOException; +import com.owncloud.android.lib.common.OwnCloudAccount; import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.lib.common.OwnCloudClientFactory; import com.owncloud.android.lib.common.OwnCloudClientManagerFactory; @@ -105,8 +106,9 @@ public abstract class RemoteOperation implements Runnable { mAccount = account; mContext = context.getApplicationContext(); try { + OwnCloudAccount ocAccount = new OwnCloudAccount(mAccount, mContext); mClient = OwnCloudClientManagerFactory.getDefaultSingleton(). - getClientFor(mAccount, mContext); + getClientFor(ocAccount, mContext); } catch (Exception e) { Log.e(TAG, "Error while trying to access to " + mAccount.name, e); return new RemoteOperationResult(e); @@ -253,8 +255,9 @@ public abstract class RemoteOperation implements Runnable { mAccount, mContext, mCallerActivity); } else { /** EOF DEPRECATED */ + OwnCloudAccount ocAccount = new OwnCloudAccount(mAccount, mContext); mClient = OwnCloudClientManagerFactory.getDefaultSingleton(). - getClientFor(mAccount, mContext); + getClientFor(ocAccount, mContext); } } else {