|
@@ -191,7 +191,8 @@ public class FileDataStorageManager {
|
|
|
cv.put(ProviderTableMeta.FILE_LAST_SYNC_DATE_FOR_DATA, file.getLastSyncDateForData());
|
|
|
cv.put(ProviderTableMeta.FILE_KEEP_IN_SYNC, file.isFavorite() ? 1 : 0);
|
|
|
cv.put(ProviderTableMeta.FILE_ETAG, file.getEtag());
|
|
|
- cv.put(ProviderTableMeta.FILE_SHARE_BY_LINK, file.isShareByLink() ? 1 : 0);
|
|
|
+ cv.put(ProviderTableMeta.FILE_SHARED_VIA_LINK, file.isSharedViaLink() ? 1 : 0);
|
|
|
+ cv.put(ProviderTableMeta.FILE_SHARED_VIA_USERS, file.isSharedViaUsers() ? 1 : 0);
|
|
|
cv.put(ProviderTableMeta.FILE_PUBLIC_LINK, file.getPublicLink());
|
|
|
cv.put(ProviderTableMeta.FILE_PERMISSIONS, file.getPermissions());
|
|
|
cv.put(ProviderTableMeta.FILE_REMOTE_ID, file.getRemoteId());
|
|
@@ -295,7 +296,8 @@ public class FileDataStorageManager {
|
|
|
cv.put(ProviderTableMeta.FILE_LAST_SYNC_DATE_FOR_DATA, file.getLastSyncDateForData());
|
|
|
cv.put(ProviderTableMeta.FILE_KEEP_IN_SYNC, file.isFavorite() ? 1 : 0);
|
|
|
cv.put(ProviderTableMeta.FILE_ETAG, file.getEtag());
|
|
|
- cv.put(ProviderTableMeta.FILE_SHARE_BY_LINK, file.isShareByLink() ? 1 : 0);
|
|
|
+ cv.put(ProviderTableMeta.FILE_SHARED_VIA_LINK, file.isSharedViaLink() ? 1 : 0);
|
|
|
+ cv.put(ProviderTableMeta.FILE_SHARED_VIA_USERS, file.isSharedViaUsers() ? 1 : 0);
|
|
|
cv.put(ProviderTableMeta.FILE_PUBLIC_LINK, file.getPublicLink());
|
|
|
cv.put(ProviderTableMeta.FILE_PERMISSIONS, file.getPermissions());
|
|
|
cv.put(ProviderTableMeta.FILE_REMOTE_ID, file.getRemoteId());
|
|
@@ -372,7 +374,8 @@ public class FileDataStorageManager {
|
|
|
cv.put(ProviderTableMeta.FILE_LAST_SYNC_DATE_FOR_DATA, folder.getLastSyncDateForData());
|
|
|
cv.put(ProviderTableMeta.FILE_KEEP_IN_SYNC, folder.isFavorite() ? 1 : 0);
|
|
|
cv.put(ProviderTableMeta.FILE_ETAG, folder.getEtag());
|
|
|
- cv.put(ProviderTableMeta.FILE_SHARE_BY_LINK, folder.isShareByLink() ? 1 : 0);
|
|
|
+ cv.put(ProviderTableMeta.FILE_SHARED_VIA_LINK, folder.isSharedViaLink() ? 1 : 0);
|
|
|
+ cv.put(ProviderTableMeta.FILE_SHARED_VIA_USERS, folder.isSharedViaUsers() ? 1 : 0);
|
|
|
cv.put(ProviderTableMeta.FILE_PUBLIC_LINK, folder.getPublicLink());
|
|
|
cv.put(ProviderTableMeta.FILE_PERMISSIONS, folder.getPermissions());
|
|
|
cv.put(ProviderTableMeta.FILE_REMOTE_ID, folder.getRemoteId());
|
|
@@ -888,8 +891,10 @@ public class FileDataStorageManager {
|
|
|
file.setFavorite(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.setShareViaLink(c.getInt(
|
|
|
+ c.getColumnIndex(ProviderTableMeta.FILE_SHARED_VIA_LINK)) == 1 ? true : false);
|
|
|
+ file.setShareViaUsers(c.getInt(
|
|
|
+ c.getColumnIndex(ProviderTableMeta.FILE_SHARED_VIA_USERS)) == 1 ? true : false);
|
|
|
file.setPublicLink(c.getString(c.getColumnIndex(ProviderTableMeta.FILE_PUBLIC_LINK)));
|
|
|
file.setPermissions(c.getString(c.getColumnIndex(ProviderTableMeta.FILE_PERMISSIONS)));
|
|
|
file.setRemoteId(c.getString(c.getColumnIndex(ProviderTableMeta.FILE_REMOTE_ID)));
|
|
@@ -1065,9 +1070,10 @@ public class FileDataStorageManager {
|
|
|
return shareExists(ProviderTableMeta.OCSHARES_ID_REMOTE_SHARED, String.valueOf(remoteId));
|
|
|
}
|
|
|
|
|
|
- private void cleanSharedFiles() {
|
|
|
+ private void resetShareFlagsInAllFiles() {
|
|
|
ContentValues cv = new ContentValues();
|
|
|
- cv.put(ProviderTableMeta.FILE_SHARE_BY_LINK, false);
|
|
|
+ cv.put(ProviderTableMeta.FILE_SHARED_VIA_LINK, false);
|
|
|
+ cv.put(ProviderTableMeta.FILE_SHARED_VIA_USERS, false);
|
|
|
cv.put(ProviderTableMeta.FILE_PUBLIC_LINK, "");
|
|
|
String where = ProviderTableMeta.FILE_ACCOUNT_OWNER + "=?";
|
|
|
String[] whereArgs = new String[]{mAccount.name};
|
|
@@ -1079,14 +1085,15 @@ public class FileDataStorageManager {
|
|
|
try {
|
|
|
getContentProviderClient().update(ProviderTableMeta.CONTENT_URI, cv, where, whereArgs);
|
|
|
} catch (RemoteException e) {
|
|
|
- Log_OC.e(TAG, "Exception in cleanSharedFiles" + e.getMessage());
|
|
|
+ Log_OC.e(TAG, "Exception in resetShareFlagsInAllFiles" + e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void cleanSharedFilesInFolder(OCFile folder) {
|
|
|
+ private void resetShareFlagsInFolder(OCFile folder) {
|
|
|
ContentValues cv = new ContentValues();
|
|
|
- cv.put(ProviderTableMeta.FILE_SHARE_BY_LINK, false);
|
|
|
+ cv.put(ProviderTableMeta.FILE_SHARED_VIA_LINK, false);
|
|
|
+ cv.put(ProviderTableMeta.FILE_SHARED_VIA_USERS, false);
|
|
|
cv.put(ProviderTableMeta.FILE_PUBLIC_LINK, "");
|
|
|
String where = ProviderTableMeta.FILE_ACCOUNT_OWNER + "=? AND " +
|
|
|
ProviderTableMeta.FILE_PARENT + "=?";
|
|
@@ -1099,7 +1106,7 @@ public class FileDataStorageManager {
|
|
|
try {
|
|
|
getContentProviderClient().update(ProviderTableMeta.CONTENT_URI, cv, where, whereArgs);
|
|
|
} catch (RemoteException e) {
|
|
|
- Log_OC.e(TAG, "Exception in cleanSharedFilesInFolder " + e.getMessage());
|
|
|
+ Log_OC.e(TAG, "Exception in resetShareFlagsInFolder " + e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1190,7 +1197,7 @@ public class FileDataStorageManager {
|
|
|
}
|
|
|
|
|
|
public void updateSharedFiles(Collection<OCFile> sharedFiles) {
|
|
|
- cleanSharedFiles();
|
|
|
+ resetShareFlagsInAllFiles();
|
|
|
|
|
|
if (sharedFiles != null) {
|
|
|
ArrayList<ContentProviderOperation> operations =
|
|
@@ -1221,7 +1228,8 @@ public class FileDataStorageManager {
|
|
|
);
|
|
|
cv.put(ProviderTableMeta.FILE_KEEP_IN_SYNC, file.isFavorite() ? 1 : 0);
|
|
|
cv.put(ProviderTableMeta.FILE_ETAG, file.getEtag());
|
|
|
- cv.put(ProviderTableMeta.FILE_SHARE_BY_LINK, file.isShareByLink() ? 1 : 0);
|
|
|
+ cv.put(ProviderTableMeta.FILE_SHARED_VIA_LINK, file.isSharedViaLink() ? 1 : 0);
|
|
|
+ cv.put(ProviderTableMeta.FILE_SHARED_VIA_USERS, file.isSharedViaUsers() ? 1 : 0);
|
|
|
cv.put(ProviderTableMeta.FILE_PUBLIC_LINK, file.getPublicLink());
|
|
|
cv.put(ProviderTableMeta.FILE_PERMISSIONS, file.getPermissions());
|
|
|
cv.put(ProviderTableMeta.FILE_REMOTE_ID, file.getRemoteId());
|
|
@@ -1311,7 +1319,7 @@ public class FileDataStorageManager {
|
|
|
OCFile file = getFileByPath(path);
|
|
|
if (file != null) {
|
|
|
if (share.getShareType().equals(ShareType.PUBLIC_LINK)) {
|
|
|
- file.setShareByLink(true);
|
|
|
+ file.setShareViaLink(true);
|
|
|
sharedFiles.add(file);
|
|
|
}
|
|
|
}
|
|
@@ -1322,7 +1330,7 @@ public class FileDataStorageManager {
|
|
|
|
|
|
|
|
|
public void saveSharesInFolder(ArrayList<OCShare> shares, OCFile folder) {
|
|
|
- cleanSharedFilesInFolder(folder);
|
|
|
+ resetShareFlagsInFolder(folder);
|
|
|
ArrayList<ContentProviderOperation> operations = new ArrayList<ContentProviderOperation>();
|
|
|
operations = prepareRemoveSharesInFolder(folder, operations);
|
|
|
|
|
@@ -1348,18 +1356,6 @@ public class FileDataStorageManager {
|
|
|
cv.put(ProviderTableMeta.OCSHARES_ID_REMOTE_SHARED, share.getIdRemoteShared());
|
|
|
cv.put(ProviderTableMeta.OCSHARES_ACCOUNT_OWNER, mAccount.name);
|
|
|
|
|
|
- /*
|
|
|
- if (shareExists(share.getIdRemoteShared())) {
|
|
|
- // updating an existing share resource
|
|
|
- operations.add(
|
|
|
- ContentProviderOperation.newUpdate(ProviderTableMeta.CONTENT_URI_SHARE).
|
|
|
- withValues(cv).
|
|
|
- withSelection( ProviderTableMeta.OCSHARES_ID_REMOTE_SHARED + "=?",
|
|
|
- new String[] { String.valueOf(share.getIdRemoteShared()) })
|
|
|
- .build());
|
|
|
-
|
|
|
- } else {
|
|
|
- */
|
|
|
// adding a new share resource
|
|
|
operations.add(
|
|
|
ContentProviderOperation.newInsert(ProviderTableMeta.CONTENT_URI_SHARE).
|
|
@@ -1372,15 +1368,13 @@ public class FileDataStorageManager {
|
|
|
|
|
|
// apply operations in batch
|
|
|
if (operations.size() > 0) {
|
|
|
- @SuppressWarnings("unused")
|
|
|
- ContentProviderResult[] results = null;
|
|
|
Log_OC.d(TAG, "Sending " + operations.size() + " operations to FileContentProvider");
|
|
|
try {
|
|
|
if (getContentResolver() != null) {
|
|
|
- results = getContentResolver().applyBatch(MainApp.getAuthority(), operations);
|
|
|
+ getContentResolver().applyBatch(MainApp.getAuthority(), operations);
|
|
|
|
|
|
} else {
|
|
|
- results = getContentProviderClient().applyBatch(operations);
|
|
|
+ getContentProviderClient().applyBatch(operations);
|
|
|
}
|
|
|
|
|
|
} catch (OperationApplicationException e) {
|
|
@@ -1390,7 +1384,6 @@ public class FileDataStorageManager {
|
|
|
Log_OC.e(TAG, "Exception in batch of operations " + e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
- //}
|
|
|
|
|
|
}
|
|
|
|