summaryrefslogtreecommitdiffstats
path: root/sync/android
diff options
context:
space:
mode:
authormaxbogue <maxbogue@chromium.org>2015-09-18 15:21:25 -0700
committerCommit bot <commit-bot@chromium.org>2015-09-18 22:21:57 +0000
commitc94c53a8836f80dfab9f8516ddca93c1cf6c13b3 (patch)
tree43eb6388b992adc74ccedfe2c9361be900d210b8 /sync/android
parent398715a0d870adc121b9f644338ccd21330fe9fe (diff)
downloadchromium_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.java28
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) {