diff options
author | Fred Quintana <fredq@google.com> | 2010-01-27 12:17:49 -0800 |
---|---|---|
committer | Fred Quintana <fredq@google.com> | 2010-02-05 15:16:20 -0800 |
commit | c5d1c6db61f208b206b260f897bb5bbc64be4d97 (patch) | |
tree | 91a5ffe88326b446f57b7249ddf1406b8654d2f6 /core/java/android/content/IContentService.aidl | |
parent | 0a45a09814dea0398647f26497ecff54a77c5f8c (diff) | |
download | frameworks_base-c5d1c6db61f208b206b260f897bb5bbc64be4d97.zip frameworks_base-c5d1c6db61f208b206b260f897bb5bbc64be4d97.tar.gz frameworks_base-c5d1c6db61f208b206b260f897bb5bbc64be4d97.tar.bz2 |
add sync polling
- added the ability to specify that a sync (of account/authority/extras)
should occur at a given frequency
- the existing daily poll code was replaced with seeding each
account/authority with a 24 hour periodic sync
- enhanced the "adb shell dumpsys content" output to show the
periodic syncs and when they will next run
Diffstat (limited to 'core/java/android/content/IContentService.aidl')
-rw-r--r-- | core/java/android/content/IContentService.aidl | 42 |
1 files changed, 35 insertions, 7 deletions
diff --git a/core/java/android/content/IContentService.aidl b/core/java/android/content/IContentService.aidl index b0f14c1..2d906ed 100644 --- a/core/java/android/content/IContentService.aidl +++ b/core/java/android/content/IContentService.aidl @@ -21,6 +21,7 @@ import android.content.ActiveSyncInfo; import android.content.ISyncStatusObserver; import android.content.SyncAdapterType; import android.content.SyncStatusInfo; +import android.content.PeriodicSync; import android.net.Uri; import android.os.Bundle; import android.database.IContentObserver; @@ -38,11 +39,11 @@ interface IContentService { void requestSync(in Account account, String authority, in Bundle extras); void cancelSync(in Account account, String authority); - + /** * Check if the provider should be synced when a network tickle is received * @param providerName the provider whose setting we are querying - * @return true of the provider should be synced when a network tickle is received + * @return true if the provider should be synced when a network tickle is received */ boolean getSyncAutomatically(in Account account, String providerName); @@ -55,6 +56,33 @@ interface IContentService { void setSyncAutomatically(in Account account, String providerName, boolean sync); /** + * Get the frequency of the periodic poll, if any. + * @param providerName the provider whose setting we are querying + * @return the frequency of the periodic sync in seconds. If 0 then no periodic syncs + * will take place. + */ + List<PeriodicSync> getPeriodicSyncs(in Account account, String providerName); + + /** + * Set whether or not the provider is to be synced on a periodic basis. + * + * @param providerName the provider whose behavior is being controlled + * @param pollFrequency the period that a sync should be performed, in seconds. If this is + * zero or less then no periodic syncs will be performed. + */ + void addPeriodicSync(in Account account, String providerName, in Bundle extras, + long pollFrequency); + + /** + * Set whether or not the provider is to be synced on a periodic basis. + * + * @param providerName the provider whose behavior is being controlled + * @param pollFrequency the period that a sync should be performed, in seconds. If this is + * zero or less then no periodic syncs will be performed. + */ + void removePeriodicSync(in Account account, String providerName, in Bundle extras); + + /** * Check if this account/provider is syncable. * @return >0 if it is syncable, 0 if not, and <0 if the state isn't known yet. */ @@ -69,15 +97,15 @@ interface IContentService { void setMasterSyncAutomatically(boolean flag); boolean getMasterSyncAutomatically(); - + /** * Returns true if there is currently a sync operation for the given * account or authority in the pending list, or actively being processed. */ boolean isSyncActive(in Account account, String authority); - + ActiveSyncInfo getActiveSync(); - + /** * Returns the types of the SyncAdapters that are registered with the system. * @return Returns the types of the SyncAdapters that are registered with the system. @@ -96,8 +124,8 @@ interface IContentService { * Return true if the pending status is true of any matching authorities. */ boolean isSyncPending(in Account account, String authority); - + void addStatusChangeListener(int mask, ISyncStatusObserver callback); - + void removeStatusChangeListener(ISyncStatusObserver callback); } |