diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt index ea65f469f..e4e7b63c2 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt @@ -1524,7 +1524,7 @@ class ChatController(args: Bundle) : private fun isInfoMessageAboutDeletion(currentMessage: MutableMap.MutableEntry): Boolean { return currentMessage.value.parentMessage != null && currentMessage.value.systemMessageType == ChatMessage - .SystemMessageType.PARENT_MESSAGE_DELETED + .SystemMessageType.MESSAGE_DELETED } private fun startACall(isVoiceOnlyCall: Boolean) { diff --git a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatMessage.java b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatMessage.java index 8af5af9d8..8e4dba56d 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatMessage.java +++ b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatMessage.java @@ -551,10 +551,20 @@ public class ChatMessage implements IMessage, MessageContentType, MessageContent DUMMY, CONVERSATION_CREATED, CONVERSATION_RENAMED, + DESCRIPTION_REMOVED, + DESCRIPTION_SET, CALL_STARTED, CALL_JOINED, CALL_LEFT, CALL_ENDED, + READ_ONLY_OFF, + READ_ONLY, + LISTABLE_NONE, + LISTABLE_USERS, + LISTABLE_ALL, + LOBBY_NONE, + LOBBY_NON_MODERATORS, + LOBBY_OPEN_TO_EVERYONE, GUESTS_ALLOWED, GUESTS_DISALLOWED, PASSWORD_SET, @@ -563,10 +573,15 @@ public class ChatMessage implements IMessage, MessageContentType, MessageContent USER_REMOVED, MODERATOR_PROMOTED, MODERATOR_DEMOTED, + GUEST_MODERATOR_PROMOTED, + GUEST_MODERATOR_DEMOTED, + MESSAGE_DELETED, FILE_SHARED, - LOBBY_NONE, - LOBBY_NON_MODERATORS, - LOBBY_OPEN_TO_EVERYONE, - PARENT_MESSAGE_DELETED + OBJECT_SHARED, + MATTERBRIDGE_CONFIG_ADDED, + MATTERBRIDGE_CONFIG_EDITED, + MATTERBRIDGE_CONFIG_REMOVED, + MATTERBRIDGE_CONFIG_ENABLED, + MATTERBRIDGE_CONFIG_DISABLED } } diff --git a/app/src/main/java/com/nextcloud/talk/models/json/converters/EnumSystemMessageTypeConverter.kt b/app/src/main/java/com/nextcloud/talk/models/json/converters/EnumSystemMessageTypeConverter.kt index 8bb830c8d..7e0796a36 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/converters/EnumSystemMessageTypeConverter.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/converters/EnumSystemMessageTypeConverter.kt @@ -28,45 +28,91 @@ import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.CALL_LE import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.CALL_STARTED import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.CONVERSATION_CREATED import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.CONVERSATION_RENAMED +import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.DESCRIPTION_REMOVED +import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.DESCRIPTION_SET import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.DUMMY import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.FILE_SHARED import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.GUESTS_ALLOWED import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.GUESTS_DISALLOWED +import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.GUEST_MODERATOR_DEMOTED +import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.GUEST_MODERATOR_PROMOTED +import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.LISTABLE_ALL +import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.LISTABLE_NONE +import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.LISTABLE_USERS import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.LOBBY_NONE import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.LOBBY_NON_MODERATORS import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.LOBBY_OPEN_TO_EVERYONE +import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.MATTERBRIDGE_CONFIG_ADDED +import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.MATTERBRIDGE_CONFIG_DISABLED +import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.MATTERBRIDGE_CONFIG_EDITED +import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.MATTERBRIDGE_CONFIG_ENABLED +import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.MATTERBRIDGE_CONFIG_REMOVED +import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.MESSAGE_DELETED import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.MODERATOR_DEMOTED import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.MODERATOR_PROMOTED -import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.PARENT_MESSAGE_DELETED +import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.OBJECT_SHARED import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.PASSWORD_REMOVED import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.PASSWORD_SET +import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.READ_ONLY +import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.READ_ONLY_OFF import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.USER_ADDED import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.USER_REMOVED /* - conversation_created - {actor} created the conversation - conversation_renamed - {actor} renamed the conversation from "foo" to "bar" - call_joined - {actor} joined the call - call_left - {actor} left the call - call_ended - Call with {user1}, {user2}, {user3}, {user4} and {user5} (Duration 30:23) - guests_allowed - {actor} allowed guests in the conversation - guests_disallowed - {actor} disallowed guests in the conversation - password_set - {actor} set a password for the conversation - password_removed - {actor} removed the password for the conversation - user_added - {actor} added {user} to the conversation - user_removed - {actor} removed {user} from the conversation - moderator_promoted - {actor} promoted {user} to moderator - moderator_demoted - {actor} demoted {user} from moderator - */ +* `conversation_created` - {actor} created the conversation +* `conversation_renamed` - {actor} renamed the conversation from "foo" to "bar" +* `description_set` - {actor} set the description to "Hello world" +* `description_removed` - {actor} removed the description +* `call_started` - {actor} started a call +* `call_joined` - {actor} joined the call +* `call_left` - {actor} left the call +* `call_ended` - Call with {user1}, {user2}, {user3}, {user4} and {user5} (Duration 30:23) +* `read_only_off` - {actor} unlocked the conversation +* `read_only` - {actor} locked the conversation +* `listable_none` - {actor} limited the conversation to the current participants +* `listable_users` - {actor} opened the conversation accessible to registered users +* `listable_all` - {actor} opened the conversation accessible to registered and guest app users +* `lobby_timer_reached` - The conversation is now open to everyone +* `lobby_none` - {actor} opened the conversation to everyone +* `lobby_non_moderators` - {actor} restricted the conversation to moderators +* `guests_allowed` - {actor} allowed guests in the conversation +* `guests_disallowed` - {actor} disallowed guests in the conversation +* `password_set` - {actor} set a password for the conversation +* `password_removed` - {actor} removed the password for the conversation +* `user_added` - {actor} added {user} to the conversation +* `user_removed` - {actor} removed {user} from the conversation +* `moderator_promoted` - {actor} promoted {user} to moderator +* `moderator_demoted` - {actor} demoted {user} from moderator +* `guest_moderator_promoted` - {actor} promoted {user} to moderator +* `guest_moderator_demoted` - {actor} demoted {user} from moderator +* `message_deleted` - Message deleted by {actor} (Should not be shown to the user) +* `file_shared` - {file} +* `object_shared` - {object} +* `matterbridge_config_added` - {actor} set up Matterbridge to synchronize this conversation with other chats +* `matterbridge_config_edited` - {actor} updated the Matterbridge configuration +* `matterbridge_config_removed` - {actor} removed the Matterbridge configuration +* `matterbridge_config_enabled` - {actor} started Matterbridge +* `matterbridge_config_disabled` - {actor} stopped Matterbridge +*/ class EnumSystemMessageTypeConverter : StringBasedTypeConverter() { override fun getFromString(string: String): ChatMessage.SystemMessageType { when (string) { "conversation_created" -> return CONVERSATION_CREATED "conversation_renamed" -> return CONVERSATION_RENAMED + "description_set" -> return DESCRIPTION_SET + "description_removed" -> return DESCRIPTION_REMOVED "call_started" -> return CALL_STARTED "call_joined" -> return CALL_JOINED "call_left" -> return CALL_LEFT "call_ended" -> return CALL_ENDED + "read_only_off" -> return READ_ONLY_OFF + "read_only" -> return READ_ONLY + "listable_none" -> return LISTABLE_NONE + "listable_users" -> return LISTABLE_USERS + "listable_all" -> return LISTABLE_ALL + "lobby_none" -> return LOBBY_NONE + "lobby_non_moderators" -> return LOBBY_NON_MODERATORS + "lobby_timer_reached" -> return LOBBY_OPEN_TO_EVERYONE "guests_allowed" -> return GUESTS_ALLOWED "guests_disallowed" -> return GUESTS_DISALLOWED "password_set" -> return PASSWORD_SET @@ -75,11 +121,16 @@ class EnumSystemMessageTypeConverter : StringBasedTypeConverter return USER_REMOVED "moderator_promoted" -> return MODERATOR_PROMOTED "moderator_demoted" -> return MODERATOR_DEMOTED + "guest_moderator_promoted" -> return GUEST_MODERATOR_PROMOTED + "guest_moderator_demoted" -> return GUEST_MODERATOR_DEMOTED + "message_deleted" -> return MESSAGE_DELETED "file_shared" -> return FILE_SHARED - "lobby_none" -> return LOBBY_NONE - "lobby_non_moderators" -> return LOBBY_NON_MODERATORS - "lobby_timer_reached" -> return LOBBY_OPEN_TO_EVERYONE - "message_deleted" -> return PARENT_MESSAGE_DELETED + "object_shared" -> return OBJECT_SHARED + "matterbridge_config_added" -> return MATTERBRIDGE_CONFIG_ADDED + "matterbridge_config_edited" -> return MATTERBRIDGE_CONFIG_EDITED + "matterbridge_config_removed" -> return MATTERBRIDGE_CONFIG_REMOVED + "matterbridge_config_enabled" -> return MATTERBRIDGE_CONFIG_ENABLED + "matterbridge_config_disabled" -> return MATTERBRIDGE_CONFIG_DISABLED else -> return DUMMY } } @@ -93,10 +144,20 @@ class EnumSystemMessageTypeConverter : StringBasedTypeConverter return "conversation_created" CONVERSATION_RENAMED -> return "conversation_renamed" + DESCRIPTION_REMOVED -> return "description_removed" + DESCRIPTION_SET -> return "description_set" CALL_STARTED -> return "call_started" CALL_JOINED -> return "call_joined" CALL_LEFT -> return "call_left" CALL_ENDED -> return "call_ended" + READ_ONLY_OFF -> return "read_only_off" + READ_ONLY -> return "read_only" + LISTABLE_NONE -> return "listable_none" + LISTABLE_USERS -> return "listable_users" + LISTABLE_ALL -> return "listable_all" + LOBBY_NONE -> return "lobby_none" + LOBBY_NON_MODERATORS -> return "lobby_non_moderators" + LOBBY_OPEN_TO_EVERYONE -> return "lobby_timer_reached" GUESTS_ALLOWED -> return "guests_allowed" GUESTS_DISALLOWED -> return "guests_disallowed" PASSWORD_SET -> return "password_set" @@ -105,10 +166,16 @@ class EnumSystemMessageTypeConverter : StringBasedTypeConverter return "user_removed" MODERATOR_PROMOTED -> return "moderator_promoted" MODERATOR_DEMOTED -> return "moderator_demoted" + GUEST_MODERATOR_PROMOTED -> return "guest_moderator_promoted" + GUEST_MODERATOR_DEMOTED -> return "guest_moderator_demoted" + MESSAGE_DELETED -> return "message_deleted" FILE_SHARED -> return "file_shared" - LOBBY_NONE -> return "lobby_none" - LOBBY_NON_MODERATORS -> return "lobby_non_moderators" - LOBBY_OPEN_TO_EVERYONE -> return "lobby_timer_reached" + OBJECT_SHARED -> return "object_shared" + MATTERBRIDGE_CONFIG_ADDED -> return "matterbridge_config_added" + MATTERBRIDGE_CONFIG_EDITED -> return "matterbridge_config_edited" + MATTERBRIDGE_CONFIG_REMOVED -> return "matterbridge_config_removed" + MATTERBRIDGE_CONFIG_ENABLED -> return "matterbridge_config_enabled" + MATTERBRIDGE_CONFIG_DISABLED -> return "matterbridge_config_disabled" else -> return "" } }