diff options
author | maxbogue <maxbogue@chromium.org> | 2015-09-18 15:21:25 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-09-18 22:21:57 +0000 |
commit | c94c53a8836f80dfab9f8516ddca93c1cf6c13b3 (patch) | |
tree | 43eb6388b992adc74ccedfe2c9361be900d210b8 /sync/android | |
parent | 398715a0d870adc121b9f644338ccd21330fe9fe (diff) | |
download | chromium_src-c94c53a8836f80dfab9f8516ddca93c1cf6c13b3.zip chromium_src-c94c53a8836f80dfab9f8516ddca93c1cf6c13b3.tar.gz chromium_src-c94c53a8836f80dfab9f8516ddca93c1cf6c13b3.tar.bz2 |
[Sync] Add tokenUnavailable to AccountManagerHelper.
It's rather misleading that tokenAvailable can be called with a null
token. I think this change makes it a clearer API.
BUG=488563
Review URL: https://codereview.chromium.org/1342313002
Cr-Commit-Position: refs/heads/master@{#349783}
Diffstat (limited to 'sync/android')
-rw-r--r-- | sync/android/java/src/org/chromium/sync/signin/AccountManagerHelper.java | 28 |
1 files changed, 18 insertions, 10 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 cdb61f5..7c10267 100644 --- a/sync/android/java/src/org/chromium/sync/signin/AccountManagerHelper.java +++ b/sync/android/java/src/org/chromium/sync/signin/AccountManagerHelper.java @@ -70,14 +70,19 @@ public class AccountManagerHelper { */ public interface GetAuthTokenCallback { /** - * Invoked on the UI thread once a token has been provided by the AccountManager. - * @param token Auth token, or null if no token is available (bad credentials, - * permission denied, etc). - * @param isTransientError If the token is null, then this parameter indicates - * if the error is transient or persistent. If token is non-null, this - * parameter is not used. + * Invoked on the UI thread if a token is provided by the AccountManager. + * + * @param token Auth token, guaranteed not to be null. */ - void tokenAvailable(String token, boolean isTransientError); + void tokenAvailable(String token); + + /** + * Invoked on the UI thread if no token is available. + * + * @param isTransientError Indicates if the error is transient (network timeout or + * unavailable, etc) or persistent (bad credentials, permission denied, etc). + */ + void tokenUnavailable(boolean isTransientError); } /** @@ -307,7 +312,7 @@ public class AccountManagerHelper { ThreadUtils.runOnUiThread(new Runnable() { @Override public void run() { - callback.tokenAvailable(null, false); + callback.tokenUnavailable(false); } }); return; @@ -332,10 +337,13 @@ public class AccountManagerHelper { private void onGotAuthTokenResult(Account account, String authTokenType, String authToken, GetAuthTokenCallback callback, AtomicInteger numTries, AtomicBoolean isTransientError, ConnectionRetry retry) { - if (authToken != null || !isTransientError.get() + if (authToken != null) { + callback.tokenAvailable(authToken); + return; + } else if (!isTransientError.get() || numTries.incrementAndGet() == MAX_TRIES || !NetworkChangeNotifier.isInitialized()) { - callback.tokenAvailable(authToken, isTransientError.get()); + callback.tokenUnavailable(isTransientError.get()); return; } if (retry == null) { |