X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/0db4fc9b17d0988c64a2949093dbb37230e1db2d..080a8ab7af2bc48e3c5fa1334ae91d21073e26c2:/src/com/owncloud/android/providers/FileContentProvider.java diff --git a/src/com/owncloud/android/providers/FileContentProvider.java b/src/com/owncloud/android/providers/FileContentProvider.java index e3950f7d..d94d5b5a 100644 --- a/src/com/owncloud/android/providers/FileContentProvider.java +++ b/src/com/owncloud/android/providers/FileContentProvider.java @@ -96,8 +96,8 @@ public class FileContentProvider extends ContentProvider { ProviderTableMeta.FILE_ETAG); mFileProjectionMap.put(ProviderTableMeta.FILE_SHARED_VIA_LINK, ProviderTableMeta.FILE_SHARED_VIA_LINK); - mFileProjectionMap.put(ProviderTableMeta.FILE_SHARED_VIA_USERS, - ProviderTableMeta.FILE_SHARED_VIA_USERS); + mFileProjectionMap.put(ProviderTableMeta.FILE_SHARED_WITH_SHAREE, + ProviderTableMeta.FILE_SHARED_WITH_SHAREE); mFileProjectionMap.put(ProviderTableMeta.FILE_PUBLIC_LINK, ProviderTableMeta.FILE_PUBLIC_LINK); mFileProjectionMap.put(ProviderTableMeta.FILE_PERMISSIONS, @@ -326,41 +326,14 @@ public class FileContentProvider extends ContentProvider { } case SHARES: - String path = values.getAsString(ProviderTableMeta.OCSHARES_PATH); - String accountNameShare= values.getAsString(ProviderTableMeta.OCSHARES_ACCOUNT_OWNER); - String[] projectionShare = new String[] { - ProviderTableMeta._ID, ProviderTableMeta.OCSHARES_PATH, - ProviderTableMeta.OCSHARES_ACCOUNT_OWNER - }; - String whereShare = ProviderTableMeta.OCSHARES_PATH + "=? AND " + - ProviderTableMeta.OCSHARES_ACCOUNT_OWNER + "=?"; - String[] whereArgsShare = new String[] {path, accountNameShare}; Uri insertedShareUri = null; - Cursor doubleCheckShare = - query(db, uri, projectionShare, whereShare, whereArgsShare, null); - // ugly patch; serious refactorization is needed to reduce work in - // FileDataStorageManager and bring it to FileContentProvider - if (doubleCheckShare == null || !doubleCheckShare.moveToFirst()) { - if (doubleCheckShare != null) { - doubleCheckShare.close(); - } - long rowId = db.insert(ProviderTableMeta.OCSHARES_TABLE_NAME, null, values); - if (rowId >0) { - insertedShareUri = - ContentUris.withAppendedId(ProviderTableMeta.CONTENT_URI_SHARE, rowId); - } else { - throw new SQLException("ERROR " + uri); - - } + long rowId = db.insert(ProviderTableMeta.OCSHARES_TABLE_NAME, null, values); + if (rowId >0) { + insertedShareUri = + ContentUris.withAppendedId(ProviderTableMeta.CONTENT_URI_SHARE, rowId); } else { - // file is already inserted; race condition, let's avoid a duplicated entry - insertedShareUri = ContentUris.withAppendedId( - ProviderTableMeta.CONTENT_URI_SHARE, - doubleCheckShare.getLong( - doubleCheckShare.getColumnIndex(ProviderTableMeta._ID) - ) - ); - doubleCheckShare.close(); + throw new SQLException("ERROR " + uri); + } updateFilesTableAccordingToShareInsertion(db, values); return insertedShareUri; @@ -380,7 +353,7 @@ public class FileContentProvider extends ContentProvider { if (newShareType == ShareType.PUBLIC_LINK.getValue()) { fileValues.put(ProviderTableMeta.FILE_SHARED_VIA_LINK, 1); } else if (newShareType == ShareType.USER.getValue() || newShareType == ShareType.GROUP.getValue()) { - fileValues.put(ProviderTableMeta.FILE_SHARED_VIA_USERS, 1); + fileValues.put(ProviderTableMeta.FILE_SHARED_WITH_SHAREE, 1); } String where = ProviderTableMeta.FILE_PATH + "=? AND " + @@ -588,7 +561,7 @@ public class FileContentProvider extends ContentProvider { + ProviderTableMeta.FILE_UPDATE_THUMBNAIL + " INTEGER," //boolean + ProviderTableMeta.FILE_IS_DOWNLOADING + " INTEGER," //boolean + ProviderTableMeta.FILE_ETAG_IN_CONFLICT + " TEXT," - + ProviderTableMeta.FILE_SHARED_VIA_USERS + " INTEGER);" + + ProviderTableMeta.FILE_SHARED_WITH_SHAREE + " INTEGER);" ); // Create table ocshares @@ -812,7 +785,7 @@ public class FileContentProvider extends ContentProvider { db.beginTransaction(); try { db .execSQL("ALTER TABLE " + ProviderTableMeta.FILE_TABLE_NAME + - " ADD COLUMN " + ProviderTableMeta.FILE_SHARED_VIA_USERS + " INTEGER " + + " ADD COLUMN " + ProviderTableMeta.FILE_SHARED_WITH_SHAREE + " INTEGER " + " DEFAULT 0"); upgraded = true; db.setTransactionSuccessful();