Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1895,12 +1895,14 @@ public List<OCShare> getSharesWithForAFile(String filePath, String accountName)
+ ProviderTableMeta.OCSHARES_SHARE_TYPE + " = ? OR "
+ ProviderTableMeta.OCSHARES_SHARE_TYPE + " = ? OR "
+ ProviderTableMeta.OCSHARES_SHARE_TYPE + " = ? OR "
+ ProviderTableMeta.OCSHARES_SHARE_TYPE + " = ? OR "
+ ProviderTableMeta.OCSHARES_SHARE_TYPE + " = ? ) ";
String[] selectionArgs = new String[]{filePath, accountName,
Integer.toString(ShareType.USER.getValue()),
Integer.toString(ShareType.GROUP.getValue()),
Integer.toString(ShareType.EMAIL.getValue()),
Integer.toString(ShareType.FEDERATED.getValue()),
Integer.toString(ShareType.FEDERATED_GROUP.getValue()),
Integer.toString(ShareType.ROOM.getValue()),
Integer.toString(ShareType.CIRCLE.getValue())
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ public class CreateShareWithShareeOperation extends SyncOperation {
private static final Set<ShareType> supportedShareTypes = new HashSet<>(Arrays.asList(ShareType.USER,
ShareType.GROUP,
ShareType.FEDERATED,
ShareType.FEDERATED_GROUP,
ShareType.EMAIL,
ShareType.ROOM,
ShareType.CIRCLE));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ protected RemoteOperationResult run(OwnCloudClient client) {
if (ShareType.PUBLIC_LINK == share.getShareType()) {
file.setSharedViaLink(false);
} else if (ShareType.USER == share.getShareType() || ShareType.GROUP == share.getShareType()
|| ShareType.FEDERATED == share.getShareType()) {
|| ShareType.FEDERATED == share.getShareType() || ShareType.FEDERATED_GROUP == share.getShareType()) {
// Check if it is the last share
List<OCShare> sharesWith = getStorageManager().
getSharesWithForAFile(remotePath,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ public UpdateSharePermissionsOperation(long shareId, FileDataStorageManager stor
@Override
protected RemoteOperationResult run(OwnCloudClient client) {

OCShare share = getStorageManager().getShareById(shareId); // ShareType.USER | ShareType.GROUP
OCShare share = getStorageManager().getShareById(shareId); // ShareType.USER | ShareType.GROUP | ShareType.FEDERATED_GROUP

if (share == null) {
// TODO try to get remote share before failing?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ public class UsersAndGroupsSearchProvider extends ContentProvider {
private String DATA_GROUP;
private String DATA_ROOM;
private String DATA_REMOTE;
private String DATA_REMOTE_GROUP;
private String DATA_EMAIL;
private String DATA_CIRCLE;

Expand Down Expand Up @@ -142,13 +143,15 @@ public boolean onCreate() {
DATA_GROUP = AUTHORITY + ".data.group";
DATA_ROOM = AUTHORITY + ".data.room";
DATA_REMOTE = AUTHORITY + ".data.remote";
DATA_REMOTE_GROUP = AUTHORITY + ".data.remote_group";
DATA_EMAIL = AUTHORITY + ".data.email";
DATA_CIRCLE = AUTHORITY + ".data.circle";

sShareTypes.put(DATA_USER, ShareType.USER);
sShareTypes.put(DATA_GROUP, ShareType.GROUP);
sShareTypes.put(DATA_ROOM, ShareType.ROOM);
sShareTypes.put(DATA_REMOTE, ShareType.FEDERATED);
sShareTypes.put(DATA_REMOTE_GROUP, ShareType.FEDERATED_GROUP);
sShareTypes.put(DATA_EMAIL, ShareType.EMAIL);
sShareTypes.put(DATA_CIRCLE, ShareType.CIRCLE);

Expand Down Expand Up @@ -228,6 +231,7 @@ private Cursor searchForUsersOrGroups(Uri uri) {
Uri groupBaseUri = new Uri.Builder().scheme(CONTENT).authority(DATA_GROUP).build();
Uri roomBaseUri = new Uri.Builder().scheme(CONTENT).authority(DATA_ROOM).build();
Uri remoteBaseUri = new Uri.Builder().scheme(CONTENT).authority(DATA_REMOTE).build();
Uri remoteGroupBaseUri = new Uri.Builder().scheme(CONTENT).authority(DATA_REMOTE_GROUP).build();
Uri emailBaseUri = new Uri.Builder().scheme(CONTENT).authority(DATA_EMAIL).build();
Uri circleBaseUri = new Uri.Builder().scheme(CONTENT).authority(DATA_CIRCLE).build();

Expand Down Expand Up @@ -297,6 +301,24 @@ private Cursor searchForUsersOrGroups(Uri uri) {
}
break;

case FEDERATED_GROUP:
if (federatedShareAllowed) {
icon = R.drawable.ic_group;
dataUri = Uri.withAppendedPath(remoteGroupBaseUri, shareWith);

if (userName.equals(shareWith)) {
displayName = name;
subline = getContext().getString(R.string.remote);
subline = "";
} else {
String[] uriSplitted = shareWith.split("@");
displayName = name;
subline = getContext().getString(R.string.share_known_remote_on_clarification,
uriSplitted[uriSplitted.length - 1]);
}
}
break;

case USER:
displayName = userName;
subline = (status.getMessage() == null || status.getMessage().isEmpty()) ? null :
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ public void setAvatars(@NonNull User user,
viewThemeUtils.files.createAvatar(sharee.getShareType(), avatar, context);
break;
case FEDERATED:
case FEDERATED_GROUP:
showFederatedShareAvatar(context,
sharee.getUserId(),
avatarRadius,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,11 @@ public void bind(OCShare share,
float avatarRadiusDimension) {
this.avatarRadiusDimension = avatarRadiusDimension;
String name = share.getSharedWithDisplayName();

if ("".equals(name) && !"".equals(share.getShareWith())) {
name = share.getShareWith();
}

binding.icon.setTag(null);

if (share.getShareType() != null) {
Expand All @@ -88,6 +88,10 @@ public void bind(OCShare share,
name = context.getString(R.string.share_remote_clarification, name);
setImage(binding.icon, share.getSharedWithDisplayName());
break;
case FEDERATED_GROUP:
name = context.getString(R.string.share_remote_clarification, name);
setImage(binding.icon, share.getSharedWithDisplayName());
break;
case USER:
binding.icon.setTag(share.getShareWith());
float avatarRadius = context.getResources().getDimension(R.dimen.list_item_avatar_icon_radius);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,10 @@ class FilesSpecificViewThemeUtils @Inject constructor(
createAvatarBase(R.drawable.ic_group)
androidViewThemeUtils.colorImageViewBackgroundAndIcon(avatar)
}
ShareType.FEDERATED_GROUP -> {
createAvatarBase(R.drawable.ic_group)
androidViewThemeUtils.colorImageViewBackgroundAndIcon(avatar)
}
ShareType.ROOM -> {
createAvatarBase(R.drawable.first_run_talk, AvatarPadding.LARGE)
androidViewThemeUtils.colorImageViewBackgroundAndIcon(avatar)
Expand Down
Loading