From 67b9442d4fad38bef9032601f7f4ec238d5d7ed1 Mon Sep 17 00:00:00 2001
From: "tbreisacher@chromium.org"
 <tbreisacher@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Wed, 31 Jul 2013 22:47:21 +0000
Subject: Revert 214841 "Fix issue with null-value OAuth2 tokens for Android."

Broke check_deps on chromium.linux: http://build.chromium.org/p/chromium.linux/builders/Linux%20Builder/builds/12317/steps/check_deps/logs/stdio

ERROR in src/chrome/android/javatests/src/org/chromium/chrome/browser/signin/AndroidProfileOAuth2TokenServiceHelperTest.java
  Illegal include: "sync/android/java/src/org/chromium/sync/signin/AccountManagerHelper.java"
    Because of no rule applying.
  Illegal include: "sync/test/android/javatests/src/org/chromium/sync/test/util/AccountHolder.java"
    Because of no rule applying.
  Illegal include: "sync/test/android/javatests/src/org/chromium/sync/test/util/MockAccountManager.java"
    Because of no rule applying.

FAILED

> Fix issue with null-value OAuth2 tokens for Android.
>
> Currently, AndroidProfileOAuth2TokenServiceHelper crashes if the auth
> token returned from the account manager is null. This CL makes it
> possible to get null tokens back.
>
> A test is also added, and the test harness is improved to support adding
> null auth-tokens.
>
> BUG=239491
> NOTRY=true
>
> Review URL: https://chromiumcodereview.appspot.com/20692003

TBR=nyquist@chromium.org

Review URL: https://codereview.chromium.org/21427002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@214843 0039d316-1c4b-4281-b951-d872f2087c98
---
 .../chromium/sync/signin/AccountManagerHelper.java | 58 ++++++++--------------
 1 file changed, 21 insertions(+), 37 deletions(-)

(limited to 'sync/android')

diff --git a/sync/android/java/src/org/chromium/sync/signin/AccountManagerHelper.java b/sync/android/java/src/org/chromium/sync/signin/AccountManagerHelper.java
index 01ad162..3ed9a22 100644
--- a/sync/android/java/src/org/chromium/sync/signin/AccountManagerHelper.java
+++ b/sync/android/java/src/org/chromium/sync/signin/AccountManagerHelper.java
@@ -20,7 +20,6 @@ import android.os.AsyncTask;
 import android.os.Bundle;
 import android.util.Log;
 
-import org.chromium.base.ThreadUtils;
 import org.chromium.net.NetworkChangeNotifier;
 
 import java.io.IOException;
@@ -251,44 +250,29 @@ public class AccountManagerHelper {
         }
         final AccountManagerFuture<Bundle> finalFuture = future;
         errorEncountered.set(false);
-
-        // On ICS onPostExecute is never called when running an AsyncTask from a different thread
-        // than the UI thread.
-        if (ThreadUtils.runningOnUiThread()) {
-            new AsyncTask<Void, Void, String>() {
-                @Override
-                public String doInBackground(Void... params) {
-                    return getAuthTokenInner(finalFuture, errorEncountered);
+        new AsyncTask<Void, Void, String>() {
+            @Override
+            public String doInBackground(Void... params) {
+                return getAuthTokenInner(finalFuture, errorEncountered);
+            }
+            @Override
+            public void onPostExecute(String authToken) {
+                if (authToken != null || !errorEncountered.get() ||
+                        numTries.incrementAndGet() == MAX_TRIES ||
+                        !NetworkChangeNotifier.isInitialized()) {
+                    callback.tokenAvailable(authToken);
+                    return;
                 }
-                @Override
-                public void onPostExecute(String authToken) {
-                    onGotAuthTokenResult(account, authTokenType, authToken, callback, numTries,
-                            errorEncountered, retry);
+                if (retry == null) {
+                    ConnectionRetry newRetry = new ConnectionRetry(account, authTokenType, callback,
+                            numTries, errorEncountered);
+                    NetworkChangeNotifier.addConnectionTypeObserver(newRetry);
                 }
-            }.execute();
-        } else {
-            String authToken = getAuthTokenInner(finalFuture, errorEncountered);
-            onGotAuthTokenResult(account, authTokenType, authToken, callback, numTries,
-                    errorEncountered, retry);
-        }
-    }
-
-    private void onGotAuthTokenResult(Account account, String authTokenType, String authToken,
-            GetAuthTokenCallback callback, AtomicInteger numTries, AtomicBoolean errorEncountered,
-            ConnectionRetry retry) {
-        if (authToken != null || !errorEncountered.get() ||
-                numTries.incrementAndGet() == MAX_TRIES ||
-                !NetworkChangeNotifier.isInitialized()) {
-            callback.tokenAvailable(authToken);
-            return;
-        }
-        if (retry == null) {
-            ConnectionRetry newRetry = new ConnectionRetry(account, authTokenType, callback,
-                    numTries, errorEncountered);
-            NetworkChangeNotifier.addConnectionTypeObserver(newRetry);
-        } else {
-            NetworkChangeNotifier.addConnectionTypeObserver(retry);
-        }
+                else {
+                    NetworkChangeNotifier.addConnectionTypeObserver(retry);
+                }
+            }
+        }.execute();
     }
 
     /**
-- 
cgit v1.1