diff options
Diffstat (limited to 'src/com/android/browser/GoogleAccountLogin.java')
| -rw-r--r-- | src/com/android/browser/GoogleAccountLogin.java | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/com/android/browser/GoogleAccountLogin.java b/src/com/android/browser/GoogleAccountLogin.java index 8ff09727d..04b395751 100644 --- a/src/com/android/browser/GoogleAccountLogin.java +++ b/src/com/android/browser/GoogleAccountLogin.java @@ -35,10 +35,11 @@ import android.content.DialogInterface.OnCancelListener; import android.net.http.AndroidHttpClient; import android.net.Uri; import android.os.Bundle; +import android.webkit.CookieManager; import android.webkit.WebView; import android.webkit.WebViewClient; -import java.util.ArrayList; +import java.util.StringTokenizer; public class GoogleAccountLogin extends Thread implements AccountManagerCallback<Bundle>, OnCancelListener { @@ -182,6 +183,22 @@ public class GoogleAccountLogin extends Thread implements return AccountManager.get(ctx).getAccountsByType(GOOGLE); } + // Checks for the presence of the SID cookie on google.com. + public static boolean isLoggedIn() { + String cookies = CookieManager.getInstance().getCookie( + "http://www.google.com"); + if (cookies != null) { + StringTokenizer tokenizer = new StringTokenizer(cookies, ";"); + while (tokenizer.hasMoreTokens()) { + String cookie = tokenizer.nextToken().trim(); + if (cookie.startsWith("SID=")) { + return true; + } + } + } + return false; + } + // Used to indicate that the Browser should continue loading the main page. // This can happen on success, error, or timeout. private synchronized void done() { |
