From 44037e6c41f8167bf5ac51fcb684ad28b20073ce Mon Sep 17 00:00:00 2001 From: Fred Quintana Date: Thu, 21 Jan 2010 13:14:49 -0800 Subject: initialize sync adapters that get installed while the system is running bug http://b/issue?id=2360782 --- core/java/android/content/SyncManager.java | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'core/java/android/content/SyncManager.java') diff --git a/core/java/android/content/SyncManager.java b/core/java/android/content/SyncManager.java index b2d406b..33d6159 100644 --- a/core/java/android/content/SyncManager.java +++ b/core/java/android/content/SyncManager.java @@ -34,6 +34,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; @@ -344,6 +345,14 @@ class SyncManager implements OnAccountsUpdateListener { mPackageManager = null; mSyncAdapters = new SyncAdaptersCache(mContext); + mSyncAdapters.setListener(new RegisteredServicesCacheListener() { + 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); -- cgit v1.1