summaryrefslogtreecommitdiffstats
path: root/core/java/android/content/SyncManager.java
diff options
context:
space:
mode:
authorFred Quintana <fredq@google.com>2010-01-27 18:40:11 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2010-01-27 18:40:11 -0800
commita322dfa47eab8d49eeb71b5245de7147c0207137 (patch)
tree9273bb8a739a28f3f3b5fe95442282174a5011e0 /core/java/android/content/SyncManager.java
parentec22b4c468e5a47c64782a8d9f81f46cd3dbb2e1 (diff)
parent6f3e1e27a697d3e64bf73792c1007135319ff0d5 (diff)
downloadframeworks_base-a322dfa47eab8d49eeb71b5245de7147c0207137.zip
frameworks_base-a322dfa47eab8d49eeb71b5245de7147c0207137.tar.gz
frameworks_base-a322dfa47eab8d49eeb71b5245de7147c0207137.tar.bz2
am 6f3e1e27: am 9a400fa4: Merge "initialize sync adapters that get installed while the system is running bug http://b/issue?id=2360782" into eclair
Merge commit '6f3e1e27a697d3e64bf73792c1007135319ff0d5' * commit '6f3e1e27a697d3e64bf73792c1007135319ff0d5': initialize sync adapters that get installed while the system is running
Diffstat (limited to 'core/java/android/content/SyncManager.java')
-rw-r--r--core/java/android/content/SyncManager.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/core/java/android/content/SyncManager.java b/core/java/android/content/SyncManager.java
index c9077bc..699b61d 100644
--- a/core/java/android/content/SyncManager.java
+++ b/core/java/android/content/SyncManager.java
@@ -31,6 +31,7 @@ import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.pm.RegisteredServicesCache;
import android.content.pm.ProviderInfo;
+import android.content.pm.RegisteredServicesCacheListener;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
@@ -325,6 +326,14 @@ public class SyncManager implements OnAccountsUpdateListener {
mSyncHandler = new SyncHandler(syncThread.getLooper());
mSyncAdapters = new SyncAdaptersCache(mContext);
+ mSyncAdapters.setListener(new RegisteredServicesCacheListener<SyncAdapterType>() {
+ public void onServiceChanged(SyncAdapterType type, boolean removed) {
+ if (!removed) {
+ scheduleSync(null, type.authority, null, 0 /* no delay */,
+ false /* onlyThoseWithUnkownSyncableState */);
+ }
+ }
+ }, mSyncHandler);
mSyncAlarmIntent = PendingIntent.getBroadcast(
mContext, 0 /* ignored */, new Intent(ACTION_SYNC_ALARM), 0);