Эх сурвалжийг харах

Get shares from Database, fix in insert shares in DB

masensio 9 жил өмнө
parent
commit
55dc0da79a

+ 1 - 19
src/com/owncloud/android/datamodel/FileDataStorageManager.java

@@ -1336,7 +1336,6 @@ public class FileDataStorageManager {
         operations = prepareRemoveSharesInFolder(folder, operations);
 
         if (shares != null) {
-            Log_OC.d(TAG, "SHARES..............................................");
             // prepare operations to insert or update files to save in the given folder
             for (OCShare share : shares) {
                 ContentValues cv = new ContentValues();
@@ -1361,26 +1360,9 @@ public class FileDataStorageManager {
                 // adding a new share resource
                 operations.add(
                         ContentProviderOperation.newInsert(ProviderTableMeta.CONTENT_URI_SHARE).
-                  /*              withValue(ProviderTableMeta.OCSHARES_FILE_SOURCE, share.getFileSource()).
-                                withValue(ProviderTableMeta.OCSHARES_ITEM_SOURCE, share.getItemSource()).
-                                withValue(ProviderTableMeta.OCSHARES_SHARE_TYPE, share.getShareType().getValue()).
-                                withValue(ProviderTableMeta.OCSHARES_SHARE_WITH, share.getShareWith()).
-                                withValue(ProviderTableMeta.OCSHARES_PATH, share.getPath()).
-                                withValue(ProviderTableMeta.OCSHARES_PERMISSIONS, share.getPermissions()).
-                                withValue(ProviderTableMeta.OCSHARES_SHARED_DATE, share.getSharedDate()).
-                                withValue(ProviderTableMeta.OCSHARES_EXPIRATION_DATE, share.getExpirationDate()).
-                                withValue(ProviderTableMeta.OCSHARES_TOKEN, share.getToken()).
-                                withValue(ProviderTableMeta.OCSHARES_SHARE_WITH_DISPLAY_NAME,
-                                share.getSharedWithDisplayName()).
-                                withValue(ProviderTableMeta.OCSHARES_IS_DIRECTORY, share.isFolder() ? 1 : 0).
-                                withValue(ProviderTableMeta.OCSHARES_USER_ID, share.getUserId()).
-                                withValue(ProviderTableMeta.OCSHARES_ID_REMOTE_SHARED, share.getIdRemoteShared()).
-                                withValue(ProviderTableMeta.OCSHARES_ACCOUNT_OWNER, mAccount.name).*/
-                          withValues(cv).
+                                withValues(cv).
                                 build()
                 );
-                Log_OC.d(TAG, "The VALUES are cv " + cv.toString());
-                //}
             }
         }
 

+ 6 - 33
src/com/owncloud/android/providers/FileContentProvider.java

@@ -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;