mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-20 20:19:42 +01:00
Merge pull request #2766 from nextcloud/feature/2719/formerOneToOneConversationType
add support for FORMER_ONE_TO_ONE conversations
This commit is contained in:
commit
56f0eb940a
@ -175,6 +175,8 @@ class ConversationItem(
|
|||||||
}
|
}
|
||||||
ConversationType.ROOM_GROUP_CALL ->
|
ConversationType.ROOM_GROUP_CALL ->
|
||||||
holder.binding.dialogAvatar.loadGroupCallAvatar(viewThemeUtils)
|
holder.binding.dialogAvatar.loadGroupCallAvatar(viewThemeUtils)
|
||||||
|
ConversationType.FORMER_ONE_TO_ONE ->
|
||||||
|
holder.binding.dialogAvatar.loadGroupCallAvatar(viewThemeUtils)
|
||||||
ConversationType.ROOM_PUBLIC_CALL ->
|
ConversationType.ROOM_PUBLIC_CALL ->
|
||||||
holder.binding.dialogAvatar.loadPublicCallAvatar(viewThemeUtils)
|
holder.binding.dialogAvatar.loadPublicCallAvatar(viewThemeUtils)
|
||||||
else -> holder.binding.dialogAvatar.visibility = View.GONE
|
else -> holder.binding.dialogAvatar.visibility = View.GONE
|
||||||
|
@ -131,10 +131,10 @@ class IncomingLinkPreviewMessageViewHolder(incomingView: View, payload: Any) : M
|
|||||||
binding.messageAuthor.setText(R.string.nc_nick_guest)
|
binding.messageAuthor.setText(R.string.nc_nick_guest)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!message.isGrouped && !message.isOneToOneConversation) {
|
if (!message.isGrouped && !message.isOneToOneConversation && !message.isFormerOneToOneConversation) {
|
||||||
setAvatarOnMessage(message)
|
setAvatarOnMessage(message)
|
||||||
} else {
|
} else {
|
||||||
if (message.isOneToOneConversation) {
|
if (message.isOneToOneConversation || message.isFormerOneToOneConversation) {
|
||||||
binding.messageUserAvatar.visibility = View.GONE
|
binding.messageUserAvatar.visibility = View.GONE
|
||||||
} else {
|
} else {
|
||||||
binding.messageUserAvatar.visibility = View.INVISIBLE
|
binding.messageUserAvatar.visibility = View.INVISIBLE
|
||||||
|
@ -135,7 +135,7 @@ class IncomingLocationMessageViewHolder(incomingView: View, payload: Any) : Mess
|
|||||||
binding.messageAuthor.setText(R.string.nc_nick_guest)
|
binding.messageAuthor.setText(R.string.nc_nick_guest)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!message.isGrouped && !message.isOneToOneConversation) {
|
if (!message.isGrouped && !message.isOneToOneConversation && !message.isFormerOneToOneConversation) {
|
||||||
binding.messageUserAvatar.visibility = View.VISIBLE
|
binding.messageUserAvatar.visibility = View.VISIBLE
|
||||||
if (message.actorType == "guests") {
|
if (message.actorType == "guests") {
|
||||||
// do nothing, avatar is set
|
// do nothing, avatar is set
|
||||||
@ -145,7 +145,7 @@ class IncomingLocationMessageViewHolder(incomingView: View, payload: Any) : Mess
|
|||||||
binding.messageUserAvatar.loadBotsAvatar()
|
binding.messageUserAvatar.loadBotsAvatar()
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (message.isOneToOneConversation) {
|
if (message.isOneToOneConversation || message.isFormerOneToOneConversation) {
|
||||||
binding.messageUserAvatar.visibility = View.GONE
|
binding.messageUserAvatar.visibility = View.GONE
|
||||||
} else {
|
} else {
|
||||||
binding.messageUserAvatar.visibility = View.INVISIBLE
|
binding.messageUserAvatar.visibility = View.INVISIBLE
|
||||||
|
@ -155,10 +155,10 @@ class IncomingPollMessageViewHolder(incomingView: View, payload: Any) : MessageH
|
|||||||
binding.messageAuthor.setText(R.string.nc_nick_guest)
|
binding.messageAuthor.setText(R.string.nc_nick_guest)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!message.isGrouped && !message.isOneToOneConversation) {
|
if (!message.isGrouped && !message.isOneToOneConversation && !message.isFormerOneToOneConversation) {
|
||||||
setAvatarOnMessage(message)
|
setAvatarOnMessage(message)
|
||||||
} else {
|
} else {
|
||||||
if (message.isOneToOneConversation) {
|
if (message.isOneToOneConversation || message.isFormerOneToOneConversation) {
|
||||||
binding.messageUserAvatar.visibility = View.GONE
|
binding.messageUserAvatar.visibility = View.GONE
|
||||||
} else {
|
} else {
|
||||||
binding.messageUserAvatar.visibility = View.INVISIBLE
|
binding.messageUserAvatar.visibility = View.INVISIBLE
|
||||||
|
@ -143,10 +143,10 @@ class IncomingTextMessageViewHolder(itemView: View, payload: Any) : MessageHolde
|
|||||||
binding.messageAuthor.setText(R.string.nc_nick_guest)
|
binding.messageAuthor.setText(R.string.nc_nick_guest)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!message.isGrouped && !message.isOneToOneConversation) {
|
if (!message.isGrouped && !message.isOneToOneConversation && !message.isFormerOneToOneConversation) {
|
||||||
setAvatarOnMessage(message)
|
setAvatarOnMessage(message)
|
||||||
} else {
|
} else {
|
||||||
if (message.isOneToOneConversation) {
|
if (message.isOneToOneConversation || message.isFormerOneToOneConversation) {
|
||||||
binding.messageUserAvatar.visibility = View.GONE
|
binding.messageUserAvatar.visibility = View.GONE
|
||||||
} else {
|
} else {
|
||||||
binding.messageUserAvatar.visibility = View.INVISIBLE
|
binding.messageUserAvatar.visibility = View.INVISIBLE
|
||||||
|
@ -232,10 +232,10 @@ class IncomingVoiceMessageViewHolder(incomingView: View, payload: Any) : Message
|
|||||||
binding.messageAuthor.setText(R.string.nc_nick_guest)
|
binding.messageAuthor.setText(R.string.nc_nick_guest)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!message.isGrouped && !message.isOneToOneConversation) {
|
if (!message.isGrouped && !message.isOneToOneConversation && !message.isFormerOneToOneConversation) {
|
||||||
setAvatarOnMessage(message)
|
setAvatarOnMessage(message)
|
||||||
} else {
|
} else {
|
||||||
if (message.isOneToOneConversation) {
|
if (message.isOneToOneConversation || message.isFormerOneToOneConversation) {
|
||||||
binding.messageUserAvatar.visibility = View.GONE
|
binding.messageUserAvatar.visibility = View.GONE
|
||||||
} else {
|
} else {
|
||||||
binding.messageUserAvatar.visibility = View.INVISIBLE
|
binding.messageUserAvatar.visibility = View.INVISIBLE
|
||||||
|
@ -2460,6 +2460,8 @@ class ChatController(args: Bundle) :
|
|||||||
)
|
)
|
||||||
chatMessage.isOneToOneConversation =
|
chatMessage.isOneToOneConversation =
|
||||||
(currentConversation?.type == Conversation.ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL)
|
(currentConversation?.type == Conversation.ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL)
|
||||||
|
chatMessage.isFormerOneToOneConversation =
|
||||||
|
(currentConversation?.type == Conversation.ConversationType.FORMER_ONE_TO_ONE)
|
||||||
it.addToStart(chatMessage, shouldScroll)
|
it.addToStart(chatMessage, shouldScroll)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2499,6 +2501,8 @@ class ChatController(args: Bundle) :
|
|||||||
val chatMessage = chatMessageList[i]
|
val chatMessage = chatMessageList[i]
|
||||||
chatMessage.isOneToOneConversation =
|
chatMessage.isOneToOneConversation =
|
||||||
currentConversation?.type == Conversation.ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL
|
currentConversation?.type == Conversation.ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL
|
||||||
|
chatMessage.isFormerOneToOneConversation =
|
||||||
|
(currentConversation?.type == Conversation.ConversationType.FORMER_ONE_TO_ONE)
|
||||||
chatMessage.activeUser = conversationUser
|
chatMessage.activeUser = conversationUser
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,6 +54,9 @@ data class ChatMessage(
|
|||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
var isOneToOneConversation: Boolean = false,
|
var isOneToOneConversation: Boolean = false,
|
||||||
|
|
||||||
|
@JsonIgnore
|
||||||
|
var isFormerOneToOneConversation: Boolean = false,
|
||||||
|
|
||||||
@JsonIgnore
|
@JsonIgnore
|
||||||
var activeUser: User? = null,
|
var activeUser: User? = null,
|
||||||
|
|
||||||
|
@ -167,7 +167,9 @@ data class Conversation(
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun canModerate(conversationUser: User): Boolean {
|
fun canModerate(conversationUser: User): Boolean {
|
||||||
return isParticipantOwnerOrModerator && !isLockedOneToOne(conversationUser)
|
return isParticipantOwnerOrModerator &&
|
||||||
|
!isLockedOneToOne(conversationUser) &&
|
||||||
|
type != ConversationType.FORMER_ONE_TO_ONE
|
||||||
}
|
}
|
||||||
|
|
||||||
fun isLobbyViewApplicable(conversationUser: User): Boolean {
|
fun isLobbyViewApplicable(conversationUser: User): Boolean {
|
||||||
@ -210,6 +212,11 @@ data class Conversation(
|
|||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
enum class ConversationType : Parcelable {
|
enum class ConversationType : Parcelable {
|
||||||
DUMMY, ROOM_TYPE_ONE_TO_ONE_CALL, ROOM_GROUP_CALL, ROOM_PUBLIC_CALL, ROOM_SYSTEM
|
DUMMY,
|
||||||
|
ROOM_TYPE_ONE_TO_ONE_CALL,
|
||||||
|
ROOM_GROUP_CALL,
|
||||||
|
ROOM_PUBLIC_CALL,
|
||||||
|
ROOM_SYSTEM,
|
||||||
|
FORMER_ONE_TO_ONE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -35,6 +35,8 @@ public class EnumRoomTypeConverter extends IntBasedTypeConverter<Conversation.Co
|
|||||||
return Conversation.ConversationType.ROOM_PUBLIC_CALL;
|
return Conversation.ConversationType.ROOM_PUBLIC_CALL;
|
||||||
case 4:
|
case 4:
|
||||||
return Conversation.ConversationType.ROOM_SYSTEM;
|
return Conversation.ConversationType.ROOM_SYSTEM;
|
||||||
|
case 5:
|
||||||
|
return Conversation.ConversationType.FORMER_ONE_TO_ONE;
|
||||||
default:
|
default:
|
||||||
return Conversation.ConversationType.DUMMY;
|
return Conversation.ConversationType.DUMMY;
|
||||||
}
|
}
|
||||||
@ -53,6 +55,8 @@ public class EnumRoomTypeConverter extends IntBasedTypeConverter<Conversation.Co
|
|||||||
return 3;
|
return 3;
|
||||||
case ROOM_SYSTEM:
|
case ROOM_SYSTEM:
|
||||||
return 4;
|
return 4;
|
||||||
|
case FORMER_ONE_TO_ONE:
|
||||||
|
return 5;
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user