summaryrefslogtreecommitdiffstats
path: root/sync/android
diff options
context:
space:
mode:
authortbreisacher@chromium.org <tbreisacher@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-31 22:47:21 +0000
committertbreisacher@chromium.org <tbreisacher@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-31 22:47:21 +0000
commit67b9442d4fad38bef9032601f7f4ec238d5d7ed1 (patch)
treee87841cf4db7967a5b1de5e43bba0fd5077a535b /sync/android
parent860498670292327042945806eb1b9a25cacf0c63 (diff)
downloadchromium_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.java58
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();
}
/**