Loading services/java/com/android/server/content/SyncManager.java +3 −1 Original line number Diff line number Diff line Loading @@ -315,7 +315,9 @@ public class SyncManager { if (Log.isLoggable(TAG, Log.VERBOSE)) { Log.v(TAG, "Reconnection detected: clearing all backoffs"); } mSyncStorageEngine.clearAllBackoffs(mSyncQueue); synchronized(mSyncQueue) { mSyncStorageEngine.clearAllBackoffsLocked(mSyncQueue); } } sendCheckAlarmsMessage(); } Loading services/java/com/android/server/content/SyncStorageEngine.java +22 −19 Original line number Diff line number Diff line Loading @@ -710,10 +710,14 @@ public class SyncStorageEngine extends Handler { } } public void clearAllBackoffs(SyncQueue syncQueue) { /** * Callers of this function need to hold a lock for syncQueue object passed in. Bear in mind * this function grabs the lock for {@link #mAuthorities} * @param syncQueue queue containing pending sync operations. */ public void clearAllBackoffsLocked(SyncQueue syncQueue) { boolean changed = false; synchronized (mAuthorities) { synchronized (syncQueue) { for (AccountInfo accountInfo : mAccounts.values()) { for (AuthorityInfo authorityInfo : accountInfo.authorities.values()) { if (authorityInfo.backoffTime != NOT_IN_BACKOFF_MODE Loading @@ -735,7 +739,6 @@ public class SyncStorageEngine extends Handler { } } } } if (changed) { reportChange(ContentResolver.SYNC_OBSERVER_TYPE_SETTINGS); Loading Loading
services/java/com/android/server/content/SyncManager.java +3 −1 Original line number Diff line number Diff line Loading @@ -315,7 +315,9 @@ public class SyncManager { if (Log.isLoggable(TAG, Log.VERBOSE)) { Log.v(TAG, "Reconnection detected: clearing all backoffs"); } mSyncStorageEngine.clearAllBackoffs(mSyncQueue); synchronized(mSyncQueue) { mSyncStorageEngine.clearAllBackoffsLocked(mSyncQueue); } } sendCheckAlarmsMessage(); } Loading
services/java/com/android/server/content/SyncStorageEngine.java +22 −19 Original line number Diff line number Diff line Loading @@ -710,10 +710,14 @@ public class SyncStorageEngine extends Handler { } } public void clearAllBackoffs(SyncQueue syncQueue) { /** * Callers of this function need to hold a lock for syncQueue object passed in. Bear in mind * this function grabs the lock for {@link #mAuthorities} * @param syncQueue queue containing pending sync operations. */ public void clearAllBackoffsLocked(SyncQueue syncQueue) { boolean changed = false; synchronized (mAuthorities) { synchronized (syncQueue) { for (AccountInfo accountInfo : mAccounts.values()) { for (AuthorityInfo authorityInfo : accountInfo.authorities.values()) { if (authorityInfo.backoffTime != NOT_IN_BACKOFF_MODE Loading @@ -735,7 +739,6 @@ public class SyncStorageEngine extends Handler { } } } } if (changed) { reportChange(ContentResolver.SYNC_OBSERVER_TYPE_SETTINGS); Loading