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

Unified Diff: sync/android/java/src/org/chromium/sync/signin/AccountManagerHelper.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/AccountManagerHelper.java
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 dc3cd943e1ffd0455d0e959b76d401598f78af56..5d3378e2cd1f9d5098a4aa6b9e7d6036cab0c14b 100644
--- a/sync/android/java/src/org/chromium/sync/signin/AccountManagerHelper.java
+++ b/sync/android/java/src/org/chromium/sync/signin/AccountManagerHelper.java
@@ -7,25 +7,17 @@ package org.chromium.sync.signin;
import android.Manifest;
import android.accounts.Account;
-import android.accounts.AccountManager;
-import android.accounts.AccountManagerFuture;
import android.accounts.AuthenticatorDescription;
-import android.accounts.AuthenticatorException;
-import android.accounts.OperationCanceledException;
import android.content.Context;
import android.content.pm.PackageManager;
import android.os.AsyncTask;
import android.os.Build;
-import android.os.Bundle;
import android.os.Process;
-import android.util.Log;
import org.chromium.base.Callback;
-import org.chromium.base.ThreadUtils;
import org.chromium.base.VisibleForTesting;
import org.chromium.net.NetworkChangeNotifier;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
@@ -355,48 +347,19 @@ public class AccountManagerHelper {
Process.myPid(), Process.myUid()) == PackageManager.PERMISSION_GRANTED;
}
- // Gets the auth token synchronously
- private String getAuthTokenInner(AccountManagerFuture<Bundle> future,
- AtomicBoolean isTransientError) {
- try {
- Bundle result = future.getResult();
- if (result != null) {
- return result.getString(AccountManager.KEY_AUTHTOKEN);
- } else {
- Log.w(TAG, "Auth token - getAuthToken returned null");
- }
- } catch (OperationCanceledException e) {
- Log.w(TAG, "Auth token - operation cancelled", e);
- } catch (AuthenticatorException e) {
- Log.w(TAG, "Auth token - authenticator exception", e);
- } catch (IOException e) {
- Log.w(TAG, "Auth token - IO exception", e);
- isTransientError.set(true);
- }
- return null;
- }
-
private void getAuthTokenAsynchronously(final Account account, final String authTokenType,
final GetAuthTokenCallback callback, final AtomicInteger numTries,
final AtomicBoolean isTransientError, final ConnectionRetry retry) {
- // Return null token for no USE_CREDENTIALS permission.
- if (!hasUseCredentialsPermission()) {
- ThreadUtils.runOnUiThread(new Runnable() {
- @Override
- public void run() {
- callback.tokenUnavailable(false);
- }
- });
- return;
- }
- final AccountManagerFuture<Bundle> future = mAccountManager.getAuthToken(
- account, authTokenType, true, null, null);
isTransientError.set(false);
-
new AsyncTask<Void, Void, String>() {
@Override
public String doInBackground(Void... params) {
- return getAuthTokenInner(future, isTransientError);
+ try {
+ return mAccountManager.getAuthToken(account, authTokenType);
+ } catch (AuthException ex) {
+ isTransientError.set(ex.isTransientError());
Bernhard Bauer 2015/11/19 15:23:33 Can you add a TODO here to handle the recovery int
knn 2015/11/19 16:09:25 Done.
+ }
+ return null;
}
@Override
public void onPostExecute(String authToken) {

Powered by Google App Engine
This is Rietveld 408576698