Index: chrome/android/java/src/org/chromium/chrome/browser/signin/AccountTrackerService.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountTrackerService.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountTrackerService.java |
index f8f278cc8b60bf5054f585056348e0ba1d90e08e..9a3fb476401f387cdab50501efb7e09f91312f96 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountTrackerService.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/AccountTrackerService.java |
@@ -5,6 +5,7 @@ |
package org.chromium.chrome.browser.signin; |
import android.accounts.Account; |
+import android.content.Context; |
import android.os.AsyncTask; |
import org.chromium.base.Callback; |
@@ -29,6 +30,8 @@ |
private boolean mSystemAccountsChanged; |
private boolean mSyncForceRefreshedForTest; |
+ private final Context mContext; |
+ |
private enum SystemAccountsSeedingStatus { |
SEEDING_NOT_STARTED, |
SEEDING_IN_PROGRESS, |
@@ -50,15 +53,16 @@ |
private final ObserverList<OnSystemAccountsSeededListener> mSystemAccountsSeedingObservers = |
new ObserverList<>(); |
- public static AccountTrackerService get() { |
+ public static AccountTrackerService get(Context context) { |
ThreadUtils.assertOnUiThread(); |
if (sAccountTrackerService == null) { |
- sAccountTrackerService = new AccountTrackerService(); |
+ sAccountTrackerService = new AccountTrackerService(context); |
} |
return sAccountTrackerService; |
} |
- private AccountTrackerService() { |
+ private AccountTrackerService(Context context) { |
+ mContext = context; |
mSystemAccountsSeedingStatus = SystemAccountsSeedingStatus.SEEDING_NOT_STARTED; |
mSystemAccountsChanged = false; |
} |
@@ -107,13 +111,13 @@ |
mSystemAccountsChanged = false; |
mSyncForceRefreshedForTest = false; |
final AccountIdProvider accountIdProvider = AccountIdProvider.getInstance(); |
- if (accountIdProvider.canBeUsed()) { |
+ if (accountIdProvider.canBeUsed(mContext)) { |
mSystemAccountsSeedingStatus = SystemAccountsSeedingStatus.SEEDING_IN_PROGRESS; |
} else { |
mSystemAccountsSeedingStatus = SystemAccountsSeedingStatus.SEEDING_NOT_STARTED; |
return; |
} |
- AccountManagerHelper.get().getGoogleAccounts(new Callback<Account[]>() { |
+ AccountManagerHelper.get(mContext).getGoogleAccounts(new Callback<Account[]>() { |
@Override |
public void onResult(final Account[] accounts) { |
new AsyncTask<Void, Void, String[][]>() { |
@@ -123,7 +127,7 @@ |
String[][] accountIdNameMap = new String[2][accounts.length]; |
for (int i = 0; i < accounts.length; ++i) { |
accountIdNameMap[0][i] = |
- accountIdProvider.getAccountId(accounts[i].name); |
+ accountIdProvider.getAccountId(mContext, accounts[i].name); |
accountIdNameMap[1][i] = accounts[i].name; |
} |
return accountIdNameMap; |
@@ -199,7 +203,7 @@ |
} |
mSystemAccountsSeedingStatus = SystemAccountsSeedingStatus.SEEDING_VALIDATING; |
- AccountManagerHelper.get().getGoogleAccounts(new Callback<Account[]>() { |
+ AccountManagerHelper.get(mContext).getGoogleAccounts(new Callback<Account[]>() { |
@Override |
public void onResult(final Account[] accounts) { |
if (mSystemAccountsChanged |