X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/a4ba6170ea7696e085b07adfef73eeb8b77cb8e2..cbdcf7d4572d90a76a4042ce6dbb3552e46b5fd0:/src/com/owncloud/android/syncadapter/FileSyncService.java diff --git a/src/com/owncloud/android/syncadapter/FileSyncService.java b/src/com/owncloud/android/syncadapter/FileSyncService.java index 74c7fa67..5da8c24c 100644 --- a/src/com/owncloud/android/syncadapter/FileSyncService.java +++ b/src/com/owncloud/android/syncadapter/FileSyncService.java @@ -1,10 +1,10 @@ /* ownCloud Android client application * Copyright (C) 2011 Bartek Przybylski + * Copyright (C) 2012-2013 ownCloud Inc. * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * it under the terms of the GNU General Public License version 2, + * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -22,22 +22,30 @@ import android.content.Intent; import android.os.IBinder; /** - * Background service for syncing files to our local Database + * Background service for synchronizing remote files with their local state. * - * @author Bartek Przybylski + * Serves as a connector to an instance of {@link FileSyncAdapter}, as required by standard Android APIs. * + * @author Bartek Przybylski + * @author David A. Velasco */ public class FileSyncService extends Service { - public 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"; - + + // 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(); + /* * {@inheritDoc} */ @Override public void onCreate() { + synchronized (sSyncAdapterLock) { + if (sSyncAdapter == null) { + sSyncAdapter = new FileSyncAdapter(getApplicationContext(), true); + } + } } /* @@ -45,6 +53,7 @@ public class FileSyncService extends Service { */ @Override public IBinder onBind(Intent intent) { - return new FileSyncAdapter(getApplicationContext(), true).getSyncAdapterBinder(); + return sSyncAdapter.getSyncAdapterBinder(); } + }