| Index: components/sync/android/javatests/src/org/chromium/components/sync/AndroidSyncSettingsTest.java
|
| diff --git a/components/sync/android/javatests/src/org/chromium/components/sync/AndroidSyncSettingsTest.java b/components/sync/android/javatests/src/org/chromium/components/sync/AndroidSyncSettingsTest.java
|
| index af72394ae6ebb68c922fda95d3d0cd58b5bad358..15b3fa56b46b2e94ebd273ac5948e5d47d977696 100644
|
| --- a/components/sync/android/javatests/src/org/chromium/components/sync/AndroidSyncSettingsTest.java
|
| +++ b/components/sync/android/javatests/src/org/chromium/components/sync/AndroidSyncSettingsTest.java
|
| @@ -10,7 +10,9 @@ import android.os.Bundle;
|
| import android.support.test.filters.SmallTest;
|
| import android.test.InstrumentationTestCase;
|
|
|
| +import org.chromium.base.Callback;
|
| import org.chromium.base.ThreadUtils;
|
| +import org.chromium.base.test.util.CallbackHelper;
|
| import org.chromium.base.test.util.DisabledTest;
|
| import org.chromium.base.test.util.Feature;
|
| import org.chromium.components.signin.AccountManagerHelper;
|
| @@ -19,6 +21,8 @@ import org.chromium.components.signin.test.util.MockAccountManager;
|
| import org.chromium.components.sync.AndroidSyncSettings.AndroidSyncSettingsObserver;
|
| import org.chromium.components.sync.test.util.MockSyncContentResolverDelegate;
|
|
|
| +import java.util.concurrent.TimeoutException;
|
| +
|
| /**
|
| * Tests for AndroidSyncSettings.
|
| */
|
| @@ -152,12 +156,20 @@ public class AndroidSyncSettingsTest extends InstrumentationTestCase {
|
|
|
| @SmallTest
|
| @Feature({"Sync"})
|
| - public void testAccountInitialization() throws InterruptedException {
|
| + public void testAccountInitialization() throws InterruptedException, TimeoutException {
|
| // mAccount was set to be syncable and not have periodic syncs.
|
| assertEquals(1, mSyncContentResolverDelegate.mSetIsSyncableCalls);
|
| assertEquals(1, mSyncContentResolverDelegate.mRemovePeriodicSyncCalls);
|
| - AndroidSyncSettings.updateAccount(mContext, null);
|
| - mAccountManager.waitForGetAccountsTask();
|
| +
|
| + final CallbackHelper callbackHelper = new CallbackHelper();
|
| + AndroidSyncSettings.updateAccount(mContext, null, new Callback<Boolean>() {
|
| + @Override
|
| + public void onResult(Boolean result) {
|
| + callbackHelper.notifyCalled();
|
| + }
|
| + });
|
| + callbackHelper.waitForCallback(0);
|
| +
|
| // mAccount was set to be not syncable.
|
| assertEquals(2, mSyncContentResolverDelegate.mSetIsSyncableCalls);
|
| assertEquals(1, mSyncContentResolverDelegate.mRemovePeriodicSyncCalls);
|
| @@ -357,10 +369,19 @@ public class AndroidSyncSettingsTest extends InstrumentationTestCase {
|
|
|
| @SmallTest
|
| @Feature({"Sync"})
|
| - public void testIsSyncableOnSigninAndNotOnSignout() throws InterruptedException {
|
| + public void testIsSyncableOnSigninAndNotOnSignout()
|
| + throws InterruptedException, TimeoutException {
|
| assertTrue(mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority) == 1);
|
| - AndroidSyncSettings.updateAccount(mContext, null);
|
| - mAccountManager.waitForGetAccountsTask();
|
| +
|
| + final CallbackHelper callbackHelper = new CallbackHelper();
|
| + AndroidSyncSettings.updateAccount(mContext, null, new Callback<Boolean>() {
|
| + @Override
|
| + public void onResult(Boolean result) {
|
| + callbackHelper.notifyCalled();
|
| + }
|
| + });
|
| + callbackHelper.waitForCallback(0);
|
| +
|
| assertTrue(mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority) == 0);
|
| AndroidSyncSettings.updateAccount(mContext, mAccount);
|
| assertTrue(mSyncContentResolverDelegate.getIsSyncable(mAccount, mAuthority) == 1);
|
|
|