Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(790)

Unified Diff: sync/android/java/src/org/chromium/sync/signin/SystemAccountManagerDelegate.java

Issue 1440363002: Use GoogleAuthUtil's getToken instead of AccountManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: sync/android/java/src/org/chromium/sync/signin/SystemAccountManagerDelegate.java
diff --git a/sync/android/java/src/org/chromium/sync/signin/SystemAccountManagerDelegate.java b/sync/android/java/src/org/chromium/sync/signin/SystemAccountManagerDelegate.java
index 75777dd85acde0e749bc10292bebb132bcc49aca..bfe83f5cfeb1d0438b936d8524754a20349f6929 100644
--- a/sync/android/java/src/org/chromium/sync/signin/SystemAccountManagerDelegate.java
+++ b/sync/android/java/src/org/chromium/sync/signin/SystemAccountManagerDelegate.java
@@ -13,11 +13,13 @@ import android.accounts.AuthenticatorException;
import android.accounts.OperationCanceledException;
import android.content.Context;
import android.os.AsyncTask;
-import android.os.Bundle;
-import android.os.Handler;
import android.os.StrictMode;
import android.os.SystemClock;
+import com.google.android.gms.auth.GoogleAuthException;
+import com.google.android.gms.auth.GoogleAuthUtil;
+import com.google.android.gms.auth.UserRecoverableAuthException;
+
import org.chromium.base.Callback;
import org.chromium.base.Log;
import org.chromium.base.ThreadUtils;
@@ -70,10 +72,21 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
}
@Override
- public AccountManagerFuture<Bundle> getAuthToken(Account account, String authTokenType,
- boolean notifyAuthFailure, AccountManagerCallback<Bundle> callback, Handler handler) {
- return mAccountManager.getAuthToken(account, authTokenType, null, notifyAuthFailure,
- callback, handler);
+ public String getAuthToken(Account account, String authTokenScope) throws AuthException {
+ assert !ThreadUtils.runningOnUiThread();
+ assert AccountManagerHelper.GOOGLE_ACCOUNT_TYPE.equals(account.type);
+ try {
+ return GoogleAuthUtil.getToken(mApplicationContext, account.name, authTokenScope);
+ } catch (UserRecoverableAuthException ex) {
+ Log.w(TAG, "getAuthToken UserRecoverableAuthException", ex);
+ throw new AuthException(false /* isTransientError */, ex.getIntent());
Bernhard Bauer 2015/11/19 15:23:34 Could you add the caught exception to the AuthExce
knn 2015/11/19 16:09:25 Done.
+ } catch (GoogleAuthException ex) {
+ Log.w(TAG, "getAuthToken GoogleAuthException", ex);
+ throw new AuthException(false /* isTransientError */, null);
+ } catch (IOException ex) {
+ Log.w(TAG, "getAuthToken IOException", ex);
+ throw new AuthException(true /* isTransientError */, null);
+ }
}
@Override

Powered by Google App Engine
This is Rietveld 408576698