mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-20 03:59:35 +01:00
revert commit d76203a0
fix to support older conversationApi versions for canLeave and canDelete Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
parent
86caa48636
commit
0079107461
@ -613,13 +613,13 @@ class ConversationInfoController(args: Bundle) :
|
|||||||
|
|
||||||
setupWebinaryView()
|
setupWebinaryView()
|
||||||
|
|
||||||
if (!conversation!!.canLeave()) {
|
if (!conversation!!.canLeave(conversationUser)) {
|
||||||
binding.leaveConversationAction.visibility = View.GONE
|
binding.leaveConversationAction.visibility = View.GONE
|
||||||
} else {
|
} else {
|
||||||
binding.leaveConversationAction.visibility = View.VISIBLE
|
binding.leaveConversationAction.visibility = View.VISIBLE
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!conversation!!.canDelete()) {
|
if (!conversation!!.canDelete(conversationUser)) {
|
||||||
binding.deleteConversationAction.visibility = View.GONE
|
binding.deleteConversationAction.visibility = View.GONE
|
||||||
} else {
|
} else {
|
||||||
binding.deleteConversationAction.visibility = View.VISIBLE
|
binding.deleteConversationAction.visibility = View.VISIBLE
|
||||||
|
@ -148,12 +148,23 @@ public class Conversation {
|
|||||||
return (canModerate(conversationUser) && !ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL.equals(type));
|
return (canModerate(conversationUser) && !ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL.equals(type));
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canLeave() {
|
public boolean canLeave(UserEntity conversationUser) {
|
||||||
return canLeaveConversation;
|
if (canLeaveConversation != null) {
|
||||||
|
// Available since APIv2
|
||||||
|
return canLeaveConversation;
|
||||||
|
}
|
||||||
|
// Fallback for APIv1
|
||||||
|
return !canModerate(conversationUser) ||
|
||||||
|
(getType() != ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL && this.participants.size() > 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canDelete() {
|
public boolean canDelete(UserEntity conversationUser) {
|
||||||
return canDeleteConversation;
|
if (canDeleteConversation != null) {
|
||||||
|
// Available since APIv2
|
||||||
|
return canDeleteConversation;
|
||||||
|
}
|
||||||
|
// Fallback for APIv1
|
||||||
|
return canModerate(conversationUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getRoomId() {
|
public String getRoomId() {
|
||||||
|
@ -157,7 +157,7 @@ class ConversationsListBottomDialog(
|
|||||||
)
|
)
|
||||||
|
|
||||||
binding.conversationOperationLeave.visibility = setVisibleIf(
|
binding.conversationOperationLeave.visibility = setVisibleIf(
|
||||||
conversation.canLeave() &&
|
conversation.canLeave(currentUser) &&
|
||||||
// leaving is by api not possible for the last user with moderator permissions.
|
// leaving is by api not possible for the last user with moderator permissions.
|
||||||
// for now, hide this option for all moderators.
|
// for now, hide this option for all moderators.
|
||||||
!conversation.canModerate(currentUser)
|
!conversation.canModerate(currentUser)
|
||||||
|
Loading…
Reference in New Issue
Block a user