X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/9060663f66a4c518bd428d4d68e035b64e24c26c..bcc972d63d3ed1d76b51a8a03a27e809983dc756:/src/com/owncloud/android/syncadapter/FileSyncService.java?ds=sidebyside diff --git a/src/com/owncloud/android/syncadapter/FileSyncService.java b/src/com/owncloud/android/syncadapter/FileSyncService.java index abb3657a..9ae051ca 100644 --- a/src/com/owncloud/android/syncadapter/FileSyncService.java +++ b/src/com/owncloud/android/syncadapter/FileSyncService.java @@ -31,17 +31,30 @@ import android.os.IBinder; */ public class FileSyncService extends Service { - public static final String SYNC_MESSAGE = "ACCOUNT_SYNC"; + private static final String SYNC_MESSAGE = "ACCOUNT_SYNC"; public static final String SYNC_FOLDER_REMOTE_PATH = "SYNC_FOLDER_REMOTE_PATH"; public static final String IN_PROGRESS = "SYNC_IN_PROGRESS"; public static final String ACCOUNT_NAME = "ACCOUNT_NAME"; public static final String SYNC_RESULT = "SYNC_RESULT"; + // Storage for an instance of the sync adapter + private static FileSyncAdapter sSyncAdapter = null; + // Object to use as a thread-safe lock + private static final Object sSyncAdapterLock = new Object(); + + public static String getSyncMessage(){ + return FileSyncService.class.getName().toString() + SYNC_MESSAGE; + } /* * {@inheritDoc} */ @Override public void onCreate() { + synchronized (sSyncAdapterLock) { + if (sSyncAdapter == null) { + sSyncAdapter = new FileSyncAdapter(getApplicationContext(), true); + } + } } /* @@ -49,7 +62,7 @@ public class FileSyncService extends Service { */ @Override public IBinder onBind(Intent intent) { - return new FileSyncAdapter(getApplicationContext(), true).getSyncAdapterBinder(); + return sSyncAdapter.getSyncAdapterBinder(); } }