Loading services/core/java/com/android/server/content/SyncManager.java +19 −11 Original line number Diff line number Diff line Loading @@ -295,7 +295,7 @@ public class SyncManager { private final BroadcastReceiver mAccountsUpdatedReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { updateRunningAccounts(); updateRunningAccounts(true /* resync all targets */); // Kick off sync for everyone, since this was a radical account change scheduleSync(null, UserHandle.USER_ALL, SyncOperation.REASON_ACCOUNTS_UPDATED, null, Loading Loading @@ -344,10 +344,12 @@ public class SyncManager { return found; } public void updateRunningAccounts() { private void updateRunningAccounts(boolean resyncAllTargets) { if (Log.isLoggable(TAG, Log.VERBOSE)) Log.v(TAG, "sending MESSAGE_ACCOUNTS_UPDATED"); // Update accounts in handler thread. mSyncHandler.sendEmptyMessage(SyncHandler.MESSAGE_ACCOUNTS_UPDATED); Message m = mSyncHandler.obtainMessage(SyncHandler.MESSAGE_ACCOUNTS_UPDATED); m.arg1 = resyncAllTargets ? 1 : 0; m.sendToTarget(); } private void doDatabaseCleanup() { Loading Loading @@ -1282,7 +1284,7 @@ public class SyncManager { mSyncAdapters.invalidateCache(userId); updateRunningAccounts(); updateRunningAccounts(false); synchronized (mSyncQueue) { mSyncQueue.addPendingOperations(userId); Loading @@ -1301,7 +1303,7 @@ public class SyncManager { } private void onUserStopping(int userId) { updateRunningAccounts(); updateRunningAccounts(false); cancelActiveSync( new SyncStorageEngine.EndPoint( Loading @@ -1313,7 +1315,7 @@ public class SyncManager { } private void onUserRemoved(int userId) { updateRunningAccounts(); updateRunningAccounts(false); // Clean up the storage engine database mSyncStorageEngine.doDatabaseCleanup(new Account[0], userId); Loading Loading @@ -2285,7 +2287,8 @@ public class SyncManager { if (Log.isLoggable(TAG, Log.VERBOSE)) { Log.v(TAG, "handleSyncHandlerMessage: MESSAGE_ACCOUNTS_UPDATED"); } updateRunningAccountsH(); boolean resyncAllTargets = msg.arg1 == 0 ? false : true; updateRunningAccountsH(resyncAllTargets); break; case SyncHandler.MESSAGE_CANCEL: Loading Loading @@ -2869,7 +2872,7 @@ public class SyncManager { } } private void updateRunningAccountsH() { private void updateRunningAccountsH(boolean resyncAll) { mRunningAccounts = AccountManagerService.getSingleton().getRunningAccounts(); if (mBootCompleted) { Loading @@ -2886,10 +2889,15 @@ public class SyncManager { null /* no result since this is a cancel */); } } // we must do this since we don't bother scheduling alarms when // the accounts are not set yet if (resyncAll) { // Kick off sync for everyone, since this was a radical account change scheduleSync(null, UserHandle.USER_ALL, SyncOperation.REASON_ACCOUNTS_UPDATED, null, null, 0 /* no delay */, 0/* no delay */, false); } else { sendCheckAlarmsMessage(); } } private boolean isSyncNotUsingNetworkH(ActiveSyncContext activeSyncContext) { final long bytesTransferredCurrent = Loading Loading
services/core/java/com/android/server/content/SyncManager.java +19 −11 Original line number Diff line number Diff line Loading @@ -295,7 +295,7 @@ public class SyncManager { private final BroadcastReceiver mAccountsUpdatedReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { updateRunningAccounts(); updateRunningAccounts(true /* resync all targets */); // Kick off sync for everyone, since this was a radical account change scheduleSync(null, UserHandle.USER_ALL, SyncOperation.REASON_ACCOUNTS_UPDATED, null, Loading Loading @@ -344,10 +344,12 @@ public class SyncManager { return found; } public void updateRunningAccounts() { private void updateRunningAccounts(boolean resyncAllTargets) { if (Log.isLoggable(TAG, Log.VERBOSE)) Log.v(TAG, "sending MESSAGE_ACCOUNTS_UPDATED"); // Update accounts in handler thread. mSyncHandler.sendEmptyMessage(SyncHandler.MESSAGE_ACCOUNTS_UPDATED); Message m = mSyncHandler.obtainMessage(SyncHandler.MESSAGE_ACCOUNTS_UPDATED); m.arg1 = resyncAllTargets ? 1 : 0; m.sendToTarget(); } private void doDatabaseCleanup() { Loading Loading @@ -1282,7 +1284,7 @@ public class SyncManager { mSyncAdapters.invalidateCache(userId); updateRunningAccounts(); updateRunningAccounts(false); synchronized (mSyncQueue) { mSyncQueue.addPendingOperations(userId); Loading @@ -1301,7 +1303,7 @@ public class SyncManager { } private void onUserStopping(int userId) { updateRunningAccounts(); updateRunningAccounts(false); cancelActiveSync( new SyncStorageEngine.EndPoint( Loading @@ -1313,7 +1315,7 @@ public class SyncManager { } private void onUserRemoved(int userId) { updateRunningAccounts(); updateRunningAccounts(false); // Clean up the storage engine database mSyncStorageEngine.doDatabaseCleanup(new Account[0], userId); Loading Loading @@ -2285,7 +2287,8 @@ public class SyncManager { if (Log.isLoggable(TAG, Log.VERBOSE)) { Log.v(TAG, "handleSyncHandlerMessage: MESSAGE_ACCOUNTS_UPDATED"); } updateRunningAccountsH(); boolean resyncAllTargets = msg.arg1 == 0 ? false : true; updateRunningAccountsH(resyncAllTargets); break; case SyncHandler.MESSAGE_CANCEL: Loading Loading @@ -2869,7 +2872,7 @@ public class SyncManager { } } private void updateRunningAccountsH() { private void updateRunningAccountsH(boolean resyncAll) { mRunningAccounts = AccountManagerService.getSingleton().getRunningAccounts(); if (mBootCompleted) { Loading @@ -2886,10 +2889,15 @@ public class SyncManager { null /* no result since this is a cancel */); } } // we must do this since we don't bother scheduling alarms when // the accounts are not set yet if (resyncAll) { // Kick off sync for everyone, since this was a radical account change scheduleSync(null, UserHandle.USER_ALL, SyncOperation.REASON_ACCOUNTS_UPDATED, null, null, 0 /* no delay */, 0/* no delay */, false); } else { sendCheckAlarmsMessage(); } } private boolean isSyncNotUsingNetworkH(ActiveSyncContext activeSyncContext) { final long bytesTransferredCurrent = Loading