keep file in sync and initial commit for file sharing
[pub/Android/ownCloud.git] / src / eu / alefzero / owncloud / syncadapter / FileSyncAdapter.java
index d3b6fc2..73b74ed 100644 (file)
@@ -19,6 +19,7 @@
 package eu.alefzero.owncloud.syncadapter;\r
 \r
 import java.io.IOException;\r
+import java.io.ObjectInputStream.GetField;\r
 import java.util.Vector;\r
 \r
 import org.apache.jackrabbit.webdav.DavException;\r
@@ -36,6 +37,7 @@ import android.os.Bundle;
 import android.util.Log;\r
 import eu.alefzero.owncloud.datamodel.FileDataStorageManager;\r
 import eu.alefzero.owncloud.datamodel.OCFile;\r
+import eu.alefzero.owncloud.files.services.FileDownloader;\r
 import eu.alefzero.webdav.WebdavEntry;\r
 \r
 /**\r
@@ -118,6 +120,17 @@ public class FileSyncAdapter extends AbstractOwnCloudSyncAdapter {
                 WebdavEntry we = new WebdavEntry(resp.getResponses()[i], getUri().getPath());\r
                 OCFile file = fillOCFile(we);\r
                 file.setParentId(parentId);\r
+                if (getStorageManager().getFileByPath(file.getRemotePath()) != null &&\r
+                    getStorageManager().getFileByPath(file.getRemotePath()).keepInSync() &&\r
+                    file.getModificationTimestamp() > getStorageManager().getFileByPath(file.getRemotePath())\r
+                                                                         .getModificationTimestamp()) {\r
+                    Intent intent = new Intent(this.getContext(), FileDownloader.class);\r
+                    intent.putExtra(FileDownloader.EXTRA_ACCOUNT, getAccount());\r
+                    intent.putExtra(FileDownloader.EXTRA_FILE_PATH, file.getURLDecodedRemotePath());\r
+                    intent.putExtra(FileDownloader.EXTRA_REMOTE_PATH, file.getRemotePath());\r
+                    file.setKeepInSync(true);\r
+                    getContext().startService(intent);\r
+                }\r
                 getStorageManager().saveFile(file);\r
                 if (parentId == 0)\r
                     parentId = file.getFileId();\r