X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/d252a09f53999a90036048d4db33c8b4f2f04c4f..b038cac0cd6d329696b8463aea446a457b1d2d23:/src/com/owncloud/android/datamodel/FileDataStorageManager.java diff --git a/src/com/owncloud/android/datamodel/FileDataStorageManager.java b/src/com/owncloud/android/datamodel/FileDataStorageManager.java index 635e10ca..5c102d3e 100644 --- a/src/com/owncloud/android/datamodel/FileDataStorageManager.java +++ b/src/com/owncloud/android/datamodel/FileDataStorageManager.java @@ -25,10 +25,10 @@ import java.util.Collections; import java.util.Iterator; import java.util.Vector; -import com.owncloud.android.Log_OC; import com.owncloud.android.MainApp; import com.owncloud.android.db.ProviderMeta.ProviderTableMeta; import com.owncloud.android.utils.FileStorageUtils; +import com.owncloud.android.utils.Log_OC; import android.accounts.Account; @@ -181,7 +181,9 @@ public class FileDataStorageManager { cv.put(ProviderTableMeta.FILE_LAST_SYNC_DATE_FOR_DATA, file.getLastSyncDateForData()); cv.put(ProviderTableMeta.FILE_KEEP_IN_SYNC, file.keepInSync() ? 1 : 0); cv.put(ProviderTableMeta.FILE_ETAG, file.getEtag()); - + cv.put(ProviderTableMeta.FILE_SHARE_BY_LINK, file.isShareByLink() ? 1 : 0); + cv.put(ProviderTableMeta.FILE_PUBLIC_LINK, file.getPublicLink()); + boolean sameRemotePath = fileExists(file.getRemotePath()); if (sameRemotePath || fileExists(file.getFileId()) ) { // for renamed files; no more delete and create @@ -278,6 +280,8 @@ public class FileDataStorageManager { cv.put(ProviderTableMeta.FILE_LAST_SYNC_DATE_FOR_DATA, file.getLastSyncDateForData()); cv.put(ProviderTableMeta.FILE_KEEP_IN_SYNC, file.keepInSync() ? 1 : 0); cv.put(ProviderTableMeta.FILE_ETAG, file.getEtag()); + cv.put(ProviderTableMeta.FILE_SHARE_BY_LINK, file.isShareByLink() ? 1 : 0); + cv.put(ProviderTableMeta.FILE_PUBLIC_LINK, file.getPublicLink()); boolean existsByPath = fileExists(file.getRemotePath()); if (existsByPath || fileExists(file.getFileId())) { @@ -333,6 +337,9 @@ public class FileDataStorageManager { cv.put(ProviderTableMeta.FILE_LAST_SYNC_DATE_FOR_DATA, folder.getLastSyncDateForData()); cv.put(ProviderTableMeta.FILE_KEEP_IN_SYNC, folder.keepInSync() ? 1 : 0); cv.put(ProviderTableMeta.FILE_ETAG, folder.getEtag()); + cv.put(ProviderTableMeta.FILE_SHARE_BY_LINK, folder.isShareByLink() ? 1 : 0); + cv.put(ProviderTableMeta.FILE_PUBLIC_LINK, folder.getPublicLink()); + operations.add(ContentProviderOperation.newUpdate(ProviderTableMeta.CONTENT_URI). withValues(cv). withSelection( ProviderTableMeta._ID + "=?", @@ -391,14 +398,16 @@ public class FileDataStorageManager { if (id > FileDataStorageManager.ROOT_PARENT_ID) { Log_OC.d(TAG, "Updating size of " + id); if (getContentResolver() != null) { - getContentResolver().update(ProviderTableMeta.CONTENT_URI_DIR, null, + getContentResolver().update(ProviderTableMeta.CONTENT_URI_DIR, + new ContentValues(), // won't be used, but cannot be null; crashes in KLP ProviderTableMeta._ID + "=?", new String[] { String.valueOf(id) }); } else { try { - getContentProviderClient().update(ProviderTableMeta.CONTENT_URI_DIR, null, - ProviderTableMeta._ID + "=?", - new String[] { String.valueOf(id) }); + getContentProviderClient().update(ProviderTableMeta.CONTENT_URI_DIR, + new ContentValues(), // won't be used, but cannot be null; crashes in KLP + ProviderTableMeta._ID + "=?", + new String[] { String.valueOf(id) }); } catch (RemoteException e) { Log_OC.e(TAG, "Exception in update of folder size through compatibility patch " + e.getMessage()); @@ -432,7 +441,7 @@ public class FileDataStorageManager { } updateFolderSize(file.getParentId()); } - if (removeLocalCopy && file.isDown()) { + if (removeLocalCopy && file.isDown() && file.getStoragePath() != null) { boolean success = new File(file.getStoragePath()).delete(); if (!removeDBData && success) { // maybe unnecessary, but should be checked TODO remove if unnecessary @@ -699,6 +708,9 @@ public class FileDataStorageManager { file.setKeepInSync(c.getInt( c.getColumnIndex(ProviderTableMeta.FILE_KEEP_IN_SYNC)) == 1 ? true : false); file.setEtag(c.getString(c.getColumnIndex(ProviderTableMeta.FILE_ETAG))); + file.setShareByLink(c.getInt( + c.getColumnIndex(ProviderTableMeta.FILE_SHARE_BY_LINK)) == 1 ? true : false); + file.setPublicLink(c.getString(c.getColumnIndex(ProviderTableMeta.FILE_PUBLIC_LINK))); } return file;