diff --git a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt index 5c10b4ec4..f9ccb39ec 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt @@ -324,6 +324,7 @@ class ChatActivity : private var conversationVoiceCallMenuItem: MenuItem? = null private var conversationVideoMenuItem: MenuItem? = null + private var eventConversationMenuItem: MenuItem? = null var webSocketInstance: WebSocketInstance? = null var signalingMessageSender: SignalingMessageSender? = null @@ -568,6 +569,7 @@ class ChatActivity : invalidateOptionsMenu() checkShowCallButtons() + isEventConversation() checkLobbyState() updateRoomTimerHandler() } else { @@ -601,6 +603,7 @@ class ChatActivity : setupSwipeToReply() setActionBarTitle() checkShowCallButtons() + isEventConversation() checkLobbyState() if (currentConversation?.type == ConversationEnums.ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL && currentConversation?.status == "dnd" @@ -1889,6 +1892,17 @@ class ChatActivity : } } + private fun isEventConversation() { + if (currentConversation?.objectType == ConversationEnums.ObjectType.EVENT) { + if (eventConversationMenuItem != null) { + eventConversationMenuItem?.icon?.alpha = FULLY_OPAQUE_INT + eventConversationMenuItem?.isEnabled = true + } + } else { + eventConversationMenuItem?.isEnabled = false + } + } + private fun isReadOnlyConversation(): Boolean = currentConversation?.conversationReadOnlyState != null && currentConversation?.conversationReadOnlyState == @@ -2855,6 +2869,11 @@ class ChatActivity : loadAvatarForStatusBar() setActionBarTitle() } + if (currentConversation?.objectType == ConversationEnums.ObjectType.EVENT) { + eventConversationMenuItem = menu.findItem(R.id.conversation_event_icon) + } else { + menu.removeItem(R.id.conversation_event_icon) + } return true } @@ -2871,12 +2890,6 @@ class ChatActivity : searchItem.isVisible = CapabilitiesUtil.isUnifiedSearchAvailable(spreedCapabilities) && currentConversation!!.remoteServer.isNullOrEmpty() - if (currentConversation!!.remoteServer != null || - !CapabilitiesUtil.isSharedItemsAvailable(spreedCapabilities) - ) { - menu.removeItem(R.id.shared_items) - } - if (CapabilitiesUtil.isAbleToCall(spreedCapabilities)) { conversationVoiceCallMenuItem = menu.findItem(R.id.conversation_voice_call) conversationVideoMenuItem = menu.findItem(R.id.conversation_video_call) diff --git a/app/src/main/java/com/nextcloud/talk/models/domain/ConversationModel.kt b/app/src/main/java/com/nextcloud/talk/models/domain/ConversationModel.kt index e6a036564..ebdca4951 100644 --- a/app/src/main/java/com/nextcloud/talk/models/domain/ConversationModel.kt +++ b/app/src/main/java/com/nextcloud/talk/models/domain/ConversationModel.kt @@ -33,6 +33,7 @@ class ConversationModel( var unreadMention: Boolean = false, var lastMessage: ChatMessageJson? = null, var objectType: ConversationEnums.ObjectType, + var objectId: String = "", var notificationLevel: ConversationEnums.NotificationLevel, var conversationReadOnlyState: ConversationEnums.ConversationReadOnlyState, var lobbyState: ConversationEnums.LobbyState, diff --git a/app/src/main/java/com/nextcloud/talk/models/json/conversations/Conversation.kt b/app/src/main/java/com/nextcloud/talk/models/json/conversations/Conversation.kt index 6ef2bd50e..f16db4a78 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/conversations/Conversation.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/conversations/Conversation.kt @@ -79,6 +79,9 @@ data class Conversation( @JsonField(name = ["objectType"], typeConverter = ConversationObjectTypeConverter::class) var objectType: ConversationEnums.ObjectType = ConversationEnums.ObjectType.DEFAULT, + @JsonField(name = ["objectId"]) + var objectId: String = "", + @JsonField(name = ["notificationLevel"], typeConverter = EnumNotificationLevelConverter::class) var notificationLevel: ConversationEnums.NotificationLevel = ConversationEnums.NotificationLevel.DEFAULT, diff --git a/app/src/main/res/drawable/calendar_clock.xml b/app/src/main/res/drawable/calendar_clock.xml new file mode 100644 index 000000000..fddc4d044 --- /dev/null +++ b/app/src/main/res/drawable/calendar_clock.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/menu/menu_conversation.xml b/app/src/main/res/menu/menu_conversation.xml index bb7799dd5..b930a803b 100644 --- a/app/src/main/res/menu/menu_conversation.xml +++ b/app/src/main/res/menu/menu_conversation.xml @@ -8,36 +8,56 @@ + + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1440edc32..6d9226c99 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -403,6 +403,7 @@ How to translate with transifex: Today Voice call Video call + Event conversation menu Conversation info Unread messages %1$s sent a GIF.