diff options
author | tbreisacher@chromium.org <tbreisacher@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-31 22:47:21 +0000 |
---|---|---|
committer | tbreisacher@chromium.org <tbreisacher@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-31 22:47:21 +0000 |
commit | 67b9442d4fad38bef9032601f7f4ec238d5d7ed1 (patch) | |
tree | e87841cf4db7967a5b1de5e43bba0fd5077a535b /sync/android | |
parent | 860498670292327042945806eb1b9a25cacf0c63 (diff) | |
download | chromium_src-67b9442d4fad38bef9032601f7f4ec238d5d7ed1.zip chromium_src-67b9442d4fad38bef9032601f7f4ec238d5d7ed1.tar.gz chromium_src-67b9442d4fad38bef9032601f7f4ec238d5d7ed1.tar.bz2 |
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
Diffstat (limited to 'sync/android')
-rw-r--r-- | sync/android/java/src/org/chromium/sync/signin/AccountManagerHelper.java | 58 |
1 files changed, 21 insertions, 37 deletions
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(); } /** |