Merge pull request #740 from owncloud/revert-669-master
[pub/Android/ownCloud.git] / src / com / owncloud / android / syncadapter / FileSyncService.java
index 3c99975..5da8c24 100644 (file)
@@ -31,20 +31,21 @@ import android.os.IBinder;
  */\r
 public class FileSyncService extends Service {\r
     \r
  */\r
 public class FileSyncService extends Service {\r
     \r
-    private static final String SYNC_MESSAGE = "ACCOUNT_SYNC";\r
-    public static final String SYNC_FOLDER_REMOTE_PATH = "SYNC_FOLDER_REMOTE_PATH";\r
-    public static final String IN_PROGRESS = "SYNC_IN_PROGRESS";\r
-    public static final String ACCOUNT_NAME = "ACCOUNT_NAME";\r
-    public static final String SYNC_RESULT = "SYNC_RESULT";\r
-\r
-    public static String getSyncMessage(){\r
-        return FileSyncService.class.getName().toString() + SYNC_MESSAGE;\r
-    }\r
+    // Storage for an instance of the sync adapter\r
+    private static FileSyncAdapter sSyncAdapter = null;\r
+    // Object to use as a thread-safe lock\r
+    private static final Object sSyncAdapterLock = new Object();\r
+    \r
     /*\r
      * {@inheritDoc}\r
      */\r
     @Override\r
     public void onCreate() {\r
     /*\r
      * {@inheritDoc}\r
      */\r
     @Override\r
     public void onCreate() {\r
+        synchronized (sSyncAdapterLock) {\r
+            if (sSyncAdapter == null) {\r
+                sSyncAdapter = new FileSyncAdapter(getApplicationContext(), true);\r
+            }\r
+        }\r
     }\r
 \r
     /*\r
     }\r
 \r
     /*\r
@@ -52,7 +53,7 @@ public class FileSyncService extends Service {
      */\r
     @Override\r
     public IBinder onBind(Intent intent) {\r
      */\r
     @Override\r
     public IBinder onBind(Intent intent) {\r
-       return new FileSyncAdapter(getApplicationContext(), true).getSyncAdapterBinder();\r
+       return sSyncAdapter.getSyncAdapterBinder();\r
     }\r
     \r
 }\r
     }\r
     \r
 }\r