summaryrefslogtreecommitdiffstats
path: root/core/java/android/content/AbstractThreadedSyncAdapter.java
diff options
context:
space:
mode:
authorFred Quintana <fredq@google.com>2009-12-11 13:17:08 -0800
committerFred Quintana <fredq@google.com>2009-12-14 16:33:13 -0800
commit274dc9d35fdf5d0464f74071a9a8f14e497d4d5f (patch)
treeecc71d179dd35751170f6a8138f220eb1c95e1cd /core/java/android/content/AbstractThreadedSyncAdapter.java
parent15f1bfb0d29915ed1790b22a00fd7032f035ddb0 (diff)
downloadframeworks_base-274dc9d35fdf5d0464f74071a9a8f14e497d4d5f.zip
frameworks_base-274dc9d35fdf5d0464f74071a9a8f14e497d4d5f.tar.gz
frameworks_base-274dc9d35fdf5d0464f74071a9a8f14e497d4d5f.tar.bz2
moved the hidden sync helpers out of the framework
Diffstat (limited to 'core/java/android/content/AbstractThreadedSyncAdapter.java')
-rw-r--r--core/java/android/content/AbstractThreadedSyncAdapter.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/core/java/android/content/AbstractThreadedSyncAdapter.java b/core/java/android/content/AbstractThreadedSyncAdapter.java
index 154c4a6..14bc5dd 100644
--- a/core/java/android/content/AbstractThreadedSyncAdapter.java
+++ b/core/java/android/content/AbstractThreadedSyncAdapter.java
@@ -117,7 +117,7 @@ public abstract class AbstractThreadedSyncAdapter {
if (mSyncThread != null
&& mSyncThread.mSyncContext.getSyncContextBinder()
== syncContext.asBinder()) {
- mSyncThread.interrupt();
+ onSyncCanceled(mSyncThread);
}
}
}
@@ -207,4 +207,15 @@ public abstract class AbstractThreadedSyncAdapter {
*/
public abstract void onPerformSync(Account account, Bundle extras,
String authority, ContentProviderClient provider, SyncResult syncResult);
+
+ /**
+ * Indicates that a sync operation has been canceled. This will be invoked on a separate
+ * thread than the sync thread and so you must consider the multi-threaded implications
+ * of the work that you do in this method.
+ *
+ * @param thread the thread that is running the sync operation to cancel
+ */
+ public void onSyncCanceled(Thread thread) {
+ thread.interrupt();
+ }
}