From 9192b5e17f413039914b97fbb1e8025c00cfb809 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Mon, 12 Mar 2012 14:37:06 -0700 Subject: [PATCH] Try catching intents in cases when GoogleAccountManager doesn't have a token response --- .../todoroo/astrid/gtasks/auth/GtasksTokenValidator.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/astrid/plugin-src/com/todoroo/astrid/gtasks/auth/GtasksTokenValidator.java b/astrid/plugin-src/com/todoroo/astrid/gtasks/auth/GtasksTokenValidator.java index ea40399cc..f89a3a6ac 100644 --- a/astrid/plugin-src/com/todoroo/astrid/gtasks/auth/GtasksTokenValidator.java +++ b/astrid/plugin-src/com/todoroo/astrid/gtasks/auth/GtasksTokenValidator.java @@ -6,6 +6,7 @@ import android.accounts.Account; import android.accounts.AccountManager; import android.accounts.AccountManagerFuture; import android.content.Context; +import android.content.Intent; import android.os.Bundle; import com.google.api.client.googleapis.extensions.android2.auth.GoogleAccountManager; @@ -69,6 +70,10 @@ public class GtasksTokenValidator { i3.printStackTrace(); throw new GoogleTasksException(c.getString(R.string.gtasks_error_authRefresh)); } + } else if (future.getResult().containsKey(AccountManager.KEY_INTENT)) { + Intent intent = (Intent) future.getResult().get(AccountManager.KEY_INTENT); + c.startActivity(intent); + return null; } else { throw new GoogleTasksException(c.getString(R.string.gtasks_error_accountManager)); } @@ -79,6 +84,10 @@ public class GtasksTokenValidator { throw new GoogleTasksException(c.getString(R.string.gtasks_error_authRefresh)); } } + } else if (future.getResult().containsKey(AccountManager.KEY_INTENT)) { + Intent intent = (Intent) future.getResult().get(AccountManager.KEY_INTENT); + c.startActivity(intent); + return null; } else { throw new GoogleTasksException(c.getString(R.string.gtasks_error_accountManager)); }