Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b5ff057e authored by David A. Velasco's avatar David A. Velasco
Browse files

Added method to OwnCloudClientMap to get/create new OwnCloudClients without credentials

parent 05775867
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import android.accounts.AuthenticatorException;
import android.accounts.OperationCanceledException;
import android.content.Context;
import android.util.Log;
import android.net.Uri;

import com.owncloud.android.lib.common.OwnCloudClient;
import com.owncloud.android.lib.common.OwnCloudClientFactory;
@@ -58,6 +59,9 @@ public class OwnCloudClientMap {
    private static ConcurrentMap<String, OwnCloudClient> mClients = 
            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) 
            throws OperationCanceledException, AuthenticatorException, 
            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) {
    	return mClients.remove(account.name);
    }