X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/72987c296f85226179b1796cf2b727c1399cbcf8..a00b27290354eb909f23b851e22036aa02d076a2:/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 c4f02084..1e3e54e8 100644 --- a/src/com/owncloud/android/datamodel/FileDataStorageManager.java +++ b/src/com/owncloud/android/datamodel/FileDataStorageManager.java @@ -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 shares = new ArrayList<>(); + ArrayList shares = new ArrayList(); OCShare share = null; if (c.moveToFirst()) { do {