From 9a5b41e8030ccb9f168681c518c4fe85c885b5a8 Mon Sep 17 00:00:00 2001 From: masensio Date: Tue, 10 Jun 2014 11:03:57 +0200 Subject: [PATCH] Create saveAllClients in OwnCloudClientMap. Changes from notes in commits: 8111900 and b18dffe --- .../android/lib/common/OwnCloudClientMap.java | 33 ++++++++++++++----- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/src/com/owncloud/android/lib/common/OwnCloudClientMap.java b/src/com/owncloud/android/lib/common/OwnCloudClientMap.java index bb0c5bac..7fcfbd80 100644 --- a/src/com/owncloud/android/lib/common/OwnCloudClientMap.java +++ b/src/com/owncloud/android/lib/common/OwnCloudClientMap.java @@ -34,6 +34,7 @@ import android.accounts.AccountManager; import android.accounts.AuthenticatorException; import android.accounts.OperationCanceledException; import android.content.Context; +import android.util.Log; import com.owncloud.android.lib.common.OwnCloudClient; import com.owncloud.android.lib.common.OwnCloudClientFactory; @@ -83,16 +84,30 @@ public class OwnCloudClientMap { public static synchronized void saveClient(Account account, Context context) { // Account Manager - AccountManager ac = AccountManager.get(context); + AccountManager ac = AccountManager.get(context.getApplicationContext()); - OwnCloudClient client = mClients.get(account.name); - - Cookie[] cookies =client.getState().getCookies(); - String cookiesString =""; - for (Cookie cookie: cookies) { - cookiesString = cookiesString + cookie.toString(); + if (account!= null) { + OwnCloudClient client = mClients.get(account.name); + + Cookie[] cookies =client.getState().getCookies(); + String cookiesString =""; + for (Cookie cookie: cookies) { + cookiesString = cookiesString + cookie.toString() + ";"; + } + ac.setUserData(account, Constants.KEY_COOKIES, cookiesString); + Log.d("OwnCloudClientMap", "Saving Cookies: "+ cookiesString ); } - ac.setUserData(account, Constants.KEY_COOKIES, cookiesString); - //Log.d("OwnCloudClientMap", "Saving Cookies: "+ cookiesString ); + } + + public static synchronized void saveAllClients(Context context, String accountType) { + + // Get all accounts + Account [] accounts = AccountManager.get(context.getApplicationContext()).getAccountsByType(accountType); + + // Save cookies for all accounts + for(Account account: accounts){ + saveClient(account, context.getApplicationContext()); + } + } }