Adapt UnshareLinkOperation to support also ShareType: USER or GROUP. UnshareLinkOpera...
[pub/Android/ownCloud.git] / src / com / owncloud / android / datamodel / FileDataStorageManager.java
index c4f0208..1e3e54e 100644 (file)
@@ -974,26 +974,29 @@ public class FileDataStorageManager {
     }
 
 
-    public OCShare getFirstShareByPathAndType(String path, ShareType type) {
+    public OCShare getFirstShareByPathAndType(String path, ShareType type, String shareWith) {
         Cursor c = null;
+
+        String selection = ProviderTableMeta.OCSHARES_PATH + "=? AND "
+                + ProviderTableMeta.OCSHARES_SHARE_TYPE + "=? AND "
+                + ProviderTableMeta.OCSHARES_SHARE_WITH + "=? AND "
+                + ProviderTableMeta.OCSHARES_ACCOUNT_OWNER + "=?" ;
+
+        String [] selectionArgs =  new String[]{path, Integer.toString(type.getValue()),
+                shareWith, mAccount.name};
+
         if (getContentResolver() != null) {
             c = getContentResolver().query(
                     ProviderTableMeta.CONTENT_URI_SHARE,
                     null,
-                    ProviderTableMeta.OCSHARES_PATH + "=? AND "
-                            + ProviderTableMeta.OCSHARES_SHARE_TYPE + "=? AND "
-                            + ProviderTableMeta.OCSHARES_ACCOUNT_OWNER + "=?",
-                    new String[]{path, Integer.toString(type.getValue()), mAccount.name},
+                    selection, selectionArgs,
                     null);
         } else {
             try {
                 c = getContentProviderClient().query(
                         ProviderTableMeta.CONTENT_URI_SHARE,
                         null,
-                        ProviderTableMeta.OCSHARES_PATH + "=? AND "
-                                + ProviderTableMeta.OCSHARES_SHARE_TYPE + "=? AND "
-                                + ProviderTableMeta.OCSHARES_ACCOUNT_OWNER + "=?",
-                        new String[]{path, Integer.toString(type.getValue()), mAccount.name},
+                        selection, selectionArgs,
                         null);
 
             } catch (RemoteException e) {
@@ -1336,7 +1339,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 +1363,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());
-                //}
             }
         }
 
@@ -1453,7 +1438,7 @@ public class FileDataStorageManager {
                 c = null;
             }
         }
-        ArrayList<OCShare> shares = new ArrayList<>();
+        ArrayList<OCShare> shares = new ArrayList<OCShare>();
         OCShare share = null;
         if (c.moveToFirst()) {
             do {