From 2e14941b179bf7d60f634923c5c2bfa653e60de8 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Mon, 14 Jan 2013 11:06:42 -0800 Subject: [PATCH] Hopefully fixed a null pointer exception that would be thrown by the system --- .../astrid/gtasks/auth/ModernAuthManager.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/astrid/plugin-src/com/todoroo/astrid/gtasks/auth/ModernAuthManager.java b/astrid/plugin-src/com/todoroo/astrid/gtasks/auth/ModernAuthManager.java index 81f3f869e..fe8fc6e0d 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gtasks/auth/ModernAuthManager.java +++ b/astrid/plugin-src/com/todoroo/astrid/gtasks/auth/ModernAuthManager.java @@ -16,6 +16,7 @@ package com.todoroo.astrid.gtasks.auth; import java.io.IOException; +import java.util.ArrayList; import android.accounts.Account; import android.accounts.AccountManager; @@ -28,6 +29,8 @@ import android.content.Intent; import android.os.Bundle; import android.util.Log; +import com.google.api.client.googleapis.extensions.android2.auth.GoogleAccountManager; + /** * AuthManager keeps track of the current auth token for a user. The advantage * over just passing around a String is that this class can renew the auth @@ -209,10 +212,12 @@ public class ModernAuthManager implements AuthManager { } public static String[] getAccounts(Activity activity) { - final Account[] accounts = AccountManager.get(activity).getAccountsByType("com.google"); //$NON-NLS-1$ - String[] accountNames = new String[accounts.length]; - for(int i = 0; i < accounts.length; i++) - accountNames[i] = accounts[i].name; - return accountNames; + GoogleAccountManager accountManager = new GoogleAccountManager(activity); + Account[] accounts = accountManager.getAccounts(); + ArrayList accountNames = new ArrayList(); + for (Account a : accounts) { + accountNames.add(a.name); + } + return accountNames.toArray(new String[accountNames.size()]); } }