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

Unified Diff: sync/test/android/javatests/src/org/chromium/sync/test/util/MockAccountManager.java

Issue 1353393002: Mask the AccountManager{Future,Callback} with a simple Callback. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@rmcas
Patch Set: fix test. move background task to where it is required. Created 5 years, 2 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
« no previous file with comments | « sync/android/java/src/org/chromium/sync/signin/SystemAccountManagerDelegate.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sync/test/android/javatests/src/org/chromium/sync/test/util/MockAccountManager.java
diff --git a/sync/test/android/javatests/src/org/chromium/sync/test/util/MockAccountManager.java b/sync/test/android/javatests/src/org/chromium/sync/test/util/MockAccountManager.java
index 532abe1dbf6783c0be21eba7c3946f7119489719..ada8a64afbb8b8c754f2c9a1f8f4ab9304faeabf 100644
--- a/sync/test/android/javatests/src/org/chromium/sync/test/util/MockAccountManager.java
+++ b/sync/test/android/javatests/src/org/chromium/sync/test/util/MockAccountManager.java
@@ -70,7 +70,7 @@ import javax.annotation.Nullable;
*/
public class MockAccountManager implements AccountManagerDelegate {
- private static final String TAG = "cr.MockAccountManager";
+ private static final String TAG = "MockAccountManager";
private static final long WAIT_TIME_FOR_GRANT_BROADCAST_MS = scaleTimeout(20000);
@@ -136,6 +136,22 @@ public class MockAccountManager implements AccountManagerDelegate {
}
}
+ @Override
+ public void getAccountsByType(
+ final String type, final AccountManagerDelegate.Callback<Account[]> callback) {
+ new AsyncTask<Void, Void, Account[]>() {
+ @Override
+ protected Account[] doInBackground(Void... params) {
+ return getAccountsByType(type);
+ }
+
+ @Override
+ protected void onPostExecute(Account[] accounts) {
+ callback.gotResult(accounts);
+ }
+ }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
+ }
+
@VisibleForTesting
public boolean addAccountHolderExplicitly(AccountHolder accountHolder) {
return addAccountHolderExplicitly(accountHolder, false);
@@ -265,25 +281,23 @@ public class MockAccountManager implements AccountManagerDelegate {
}
@Override
- public AccountManagerFuture<Boolean> hasFeatures(Account account, final String[] features,
- AccountManagerCallback<Boolean> callback, Handler handler) {
+ public void hasFeatures(Account account, final String[] features,
+ final AccountManagerDelegate.Callback<Boolean> callback) {
final AccountHolder accountHolder = getAccountHolder(account);
- AccountManagerTask<Boolean> accountManagerTask =
- new AccountManagerTask<Boolean>(handler, callback, new Callable<Boolean>() {
- @Override
- public Boolean call() throws Exception {
- Set<String> accountFeatures = accountHolder.getFeatures();
- for (String feature : features) {
- if (!accountFeatures.contains(feature)) {
- Log.d(TAG, accountFeatures + " does not contain " + feature);
- return false;
- }
- }
- return true;
+ accountHolder.addFeaturesCallback(new Runnable() {
+ @Override
+ public void run() {
+ Set<String> accountFeatures = accountHolder.getFeatures();
+ boolean hasAllFeatures = true;
+ for (String feature : features) {
+ if (!accountFeatures.contains(feature)) {
+ Log.d(TAG, accountFeatures + " does not contain " + feature);
+ hasAllFeatures = false;
}
- });
- accountHolder.addFeaturesCallback(accountManagerTask);
- return accountManagerTask;
+ }
+ callback.gotResult(hasAllFeatures);
+ }
+ });
}
public void notifyFeaturesFetched(Account account, Set<String> features) {
« no previous file with comments | « sync/android/java/src/org/chromium/sync/signin/SystemAccountManagerDelegate.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698