| 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 d90280ab3fd3831e84f42aa09d68cc9bdf7a815e..f291ef58033f36122f0bfe3d286ef9aabc8db00f 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,11 @@ import android.accounts.AuthenticatorException;
|
| import android.accounts.OperationCanceledException;
|
| import android.content.Context;
|
| import android.os.AsyncTask;
|
| -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.GooglePlayServicesAvailabilityException;
|
| import com.google.android.gms.auth.UserRecoverableAuthException;
|
|
|
| import org.chromium.base.Callback;
|
| @@ -89,14 +89,15 @@ public class SystemAccountManagerDelegate implements AccountManagerDelegate {
|
| }
|
|
|
| @Override
|
| - public void invalidateAuthToken(String accountType, String authToken) {
|
| - // Temporarily allowing disk access while fixing. TODO: http://crbug.com/535320
|
| - StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskWrites();
|
| - StrictMode.allowThreadDiskReads();
|
| + public void invalidateAuthToken(String authToken) throws AuthException {
|
| try {
|
| - mAccountManager.invalidateAuthToken(accountType, authToken);
|
| - } finally {
|
| - StrictMode.setThreadPolicy(oldPolicy);
|
| + GoogleAuthUtil.clearToken(mApplicationContext, authToken);
|
| + } catch (GooglePlayServicesAvailabilityException ex) {
|
| + throw new AuthException(false /* isTransientError */, null, ex);
|
| + } catch (GoogleAuthException ex) {
|
| + throw new AuthException(false /* isTransientError */, null, ex);
|
| + } catch (IOException ex) {
|
| + throw new AuthException(true /* isTransientError */, null, ex);
|
| }
|
| }
|
|
|
|
|