| Index: chrome/android/java/src/org/chromium/chrome/browser/sync/SyncAccountSwitcher.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncAccountSwitcher.java b/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncAccountSwitcher.java
|
| index 10c5ebf756abeb35131d2d3f01f5fc4620017ec5..0741b716e9cc1ac396fe1fbcb28683bd99105710 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncAccountSwitcher.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/sync/SyncAccountSwitcher.java
|
| @@ -9,6 +9,8 @@ import android.preference.Preference;
|
| import android.preference.Preference.OnPreferenceChangeListener;
|
| import android.text.TextUtils;
|
|
|
| +import org.chromium.base.Callback;
|
| +import org.chromium.base.Promise;
|
| import org.chromium.chrome.browser.preferences.SyncedAccountPreference;
|
| import org.chromium.chrome.browser.signin.SigninManager;
|
| import org.chromium.chrome.browser.signin.SigninManager.SignInCallback;
|
| @@ -74,17 +76,17 @@ public class SyncAccountSwitcher
|
| public void run() {
|
| SigninManager.get(mActivity).clearLastSignedInUser();
|
|
|
| - if (wipeData) {
|
| - SyncUserDataWiper.wipeSyncUserData(new Runnable() {
|
| - @Override
|
| - public void run() {
|
| - SigninManager.get(mActivity)
|
| - .signIn(mNewAccountName, mActivity, callback);
|
| - }
|
| - });
|
| - } else {
|
| - SigninManager.get(mActivity).signIn(mNewAccountName, mActivity, callback);
|
| - }
|
| + Promise<Void> promise = (wipeData
|
| + ? SyncUserDataWiper.wipeSyncUserData()
|
| + : Promise.fulfilled((Void) null));
|
| +
|
| + promise.then(new Callback<Void>(){
|
| + @Override
|
| + public void onResult(Void result) {
|
| + SigninManager.get(mActivity).signIn(mNewAccountName, mActivity, callback);
|
| +
|
| + }
|
| + });
|
| }
|
| });
|
| }
|
|
|