summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser/GoogleAccountLogin.java
diff options
context:
space:
mode:
authorPatrick Scott <phanna@android.com>2011-01-13 14:31:54 -0500
committerPatrick Scott <phanna@android.com>2011-01-13 14:31:54 -0500
commit97efb1e650b356d3fc81ff531544383362759d77 (patch)
treefec17cc7284ee2578debc4db5cc170bf2b2ccebb /src/com/android/browser/GoogleAccountLogin.java
parent539e2eced0f35144d7841477e5cdc2d8c521e82a (diff)
downloadpackages_apps_Browser-97efb1e650b356d3fc81ff531544383362759d77.tar.gz
packages_apps_Browser-97efb1e650b356d3fc81ff531544383362759d77.tar.bz2
packages_apps_Browser-97efb1e650b356d3fc81ff531544383362759d77.zip
Skip auto sign-in if the user is already logged in.
Also delay dismissing the dialog to avoid flashing it briefly. Change-Id: I86c23ccebc6ccaad1feac56bea4ddcfefe1607f4
Diffstat (limited to 'src/com/android/browser/GoogleAccountLogin.java')
-rw-r--r--src/com/android/browser/GoogleAccountLogin.java19
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() {