- make an AccountManager per context, not one per process

- enhance the comment for addOnAccountsUpdatedListener()
This commit is contained in:
Fred Quintana
2009-09-22 15:13:30 -07:00
parent c0b8a96d28
commit e00a31155b
2 changed files with 9 additions and 5 deletions

View File

@@ -153,7 +153,6 @@ class ApplicationContext extends Context {
private final static boolean DEBUG_ICONS = false;
private static final Object sSync = new Object();
private static AccountManager sAccountManager;
private static AlarmManager sAlarmManager;
private static PowerManager sPowerManager;
private static ConnectivityManager sConnectivityManager;
@@ -186,6 +185,7 @@ class ApplicationContext extends Context {
private boolean mIsBluetoothAdapterCached = false;
private BluetoothAdapter mBluetoothAdapter;
private boolean mRestricted;
private AccountManager mAccountManager; // protected by mSync
private final Object mSync = new Object();
@@ -908,14 +908,14 @@ class ApplicationContext extends Context {
}
private AccountManager getAccountManager() {
synchronized (sSync) {
if (sAccountManager == null) {
synchronized (mSync) {
if (mAccountManager == null) {
IBinder b = ServiceManager.getService(ACCOUNT_SERVICE);
IAccountManager service = IAccountManager.Stub.asInterface(b);
sAccountManager = new AccountManager(this, service);
mAccountManager = new AccountManager(this, service);
}
return mAccountManager;
}
return sAccountManager;
}
private ActivityManager getActivityManager() {