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 @@
+
+
+