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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/sync/SyncAccountSwitcher.java

Issue 1885463002: Create a Promise class to simplify dealing with async results. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months 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: 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);
+
+ }
+ });
}
});
}

Powered by Google App Engine
This is Rietveld 408576698