mirror of
https://github.com/owncloud/android-library.git
synced 2025-06-07 16:06:08 +00:00
Added method to OwnCloudClientMap to get/create new OwnCloudClients without credentials
This commit is contained in:
parent
057758671f
commit
b5ff057e95
@ -35,6 +35,7 @@ import android.accounts.AuthenticatorException;
|
|||||||
import android.accounts.OperationCanceledException;
|
import android.accounts.OperationCanceledException;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
import android.net.Uri;
|
||||||
|
|
||||||
import com.owncloud.android.lib.common.OwnCloudClient;
|
import com.owncloud.android.lib.common.OwnCloudClient;
|
||||||
import com.owncloud.android.lib.common.OwnCloudClientFactory;
|
import com.owncloud.android.lib.common.OwnCloudClientFactory;
|
||||||
@ -58,6 +59,9 @@ public class OwnCloudClientMap {
|
|||||||
private static ConcurrentMap<String, OwnCloudClient> mClients =
|
private static ConcurrentMap<String, OwnCloudClient> mClients =
|
||||||
new java.util.concurrent.ConcurrentHashMap<String, OwnCloudClient>();
|
new java.util.concurrent.ConcurrentHashMap<String, OwnCloudClient>();
|
||||||
|
|
||||||
|
private static ConcurrentMap<String, OwnCloudClient> mAnonymousClient =
|
||||||
|
new java.util.concurrent.ConcurrentHashMap<String, OwnCloudClient>();
|
||||||
|
|
||||||
public static synchronized OwnCloudClient getClientFor(Account account, Context context)
|
public static synchronized OwnCloudClient getClientFor(Account account, Context context)
|
||||||
throws OperationCanceledException, AuthenticatorException,
|
throws OperationCanceledException, AuthenticatorException,
|
||||||
AccountNotFoundException, IOException {
|
AccountNotFoundException, IOException {
|
||||||
@ -73,6 +77,20 @@ public class OwnCloudClientMap {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static synchronized OwnCloudClient getAnonymousClientFor(
|
||||||
|
Uri baseUri, Context context, boolean followRedirects) {
|
||||||
|
OwnCloudClient client = mAnonymousClient.get(baseUri.toString());
|
||||||
|
if (client == null) {
|
||||||
|
client = OwnCloudClientFactory.createOwnCloudClient(
|
||||||
|
baseUri,
|
||||||
|
context.getApplicationContext(),
|
||||||
|
followRedirects);
|
||||||
|
mAnonymousClient.putIfAbsent(baseUri.toString(), client);
|
||||||
|
}
|
||||||
|
return client;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static synchronized OwnCloudClient removeClientFor(Account account) {
|
public static synchronized OwnCloudClient removeClientFor(Account account) {
|
||||||
return mClients.remove(account.name);
|
return mClients.remove(account.name);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user