summaryrefslogtreecommitdiff
path: root/core/java/android/content/AbstractThreadedSyncAdapter.java
diff options
context:
space:
mode:
authorDaniel Karlberg <daniel.karlberg@sonymobile.com>2012-08-15 10:00:41 +0200
committerJohan Redestig <johan.redestig@sonymobile.com>2013-07-26 18:19:48 +0000
commit8014cbffad1e74814ddd0a98ee5954d8bf3a6c03 (patch)
tree63cc155569230ad5966266457637dc24545d470b /core/java/android/content/AbstractThreadedSyncAdapter.java
parentd547bcec5634f99195a2b12522b6977f61c40d55 (diff)
Fixed a leaked partial wakelock in AbstractThreadedSyncAdapter.
This fix ensures that onFinished() is always called in a syncClient even if the application lacks the READ_SYNC_SETTINGS permission. Change-Id: I944717e71ceae06a665f8a3b1199b41d73e12da4
Diffstat (limited to 'core/java/android/content/AbstractThreadedSyncAdapter.java')
-rw-r--r--core/java/android/content/AbstractThreadedSyncAdapter.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/core/java/android/content/AbstractThreadedSyncAdapter.java b/core/java/android/content/AbstractThreadedSyncAdapter.java
index bafe67d619f3..898cc4e7a1e2 100644
--- a/core/java/android/content/AbstractThreadedSyncAdapter.java
+++ b/core/java/android/content/AbstractThreadedSyncAdapter.java
@@ -160,10 +160,13 @@ public abstract class AbstractThreadedSyncAdapter {
if (mAutoInitialize
&& extras != null
&& extras.getBoolean(ContentResolver.SYNC_EXTRAS_INITIALIZE, false)) {
- if (ContentResolver.getIsSyncable(account, authority) < 0) {
- ContentResolver.setIsSyncable(account, authority, 1);
+ try {
+ if (ContentResolver.getIsSyncable(account, authority) < 0) {
+ ContentResolver.setIsSyncable(account, authority, 1);
+ }
+ } finally {
+ syncContextClient.onFinished(new SyncResult());
}
- syncContextClient.onFinished(new SyncResult());
return;
}
SyncThread syncThread = new SyncThread(