add icon for event conversations

Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
This commit is contained in:
sowjanyakch 2025-04-07 09:01:03 +02:00 committed by Marcel Hibbe
parent b96ee90398
commit 83b8915787
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B
6 changed files with 65 additions and 11 deletions

View File

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

View File

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

View File

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

View File

@ -0,0 +1,16 @@
<!--
~ Nextcloud Talk - Android Client
~
~ SPDX-FileCopyrightText: 2025 Sowjanya Kota <sowjanya.kch@gmail.com>
~ SPDX-License-Identifier: GPL-3.0-or-later
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="#FF000000"
android:pathData="M15,13H16.5V15.82L18.94,17.23L18.19,18.53L15,16.69V13M19,8H5V19H9.67C9.24,18.09 9,17.07 9,16A7,7 0,0 1,16 9C17.07,9 18.09,9.24 19,9.67V8M5,21C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H6V1H8V3H16V1H18V3H19A2,2 0,0 1,21 5V11.1C22.24,12.36 23,14.09 23,16A7,7 0,0 1,16 23C14.09,23 12.36,22.24 11.1,21H5M16,11.15A4.85,4.85 0,0 0,11.15 16C11.15,18.68 13.32,20.85 16,20.85A4.85,4.85 0,0 0,20.85 16C20.85,13.32 18.68,11.15 16,11.15Z"/>
</vector>

View File

@ -8,36 +8,56 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/conversation_event_icon"
android:icon="@drawable/calendar_clock"
android:orderInCategory="0"
android:title="@string/nc_event_conversation_menu"
app:showAsAction="ifRoom">
<menu>
<item
android:id="@+id/action_option_one"
android:title="Scheduled event" />
<item
android:id="@+id/action_option_two"
android:title="@string/nc_delete_call"
android:icon = "@drawable/ic_delete"/>
</menu>
</item>
<item
android:id="@+id/conversation_voice_call"
android:icon="@drawable/ic_call_white_24dp"
android:orderInCategory="0"
android:orderInCategory="1"
android:title="@string/nc_conversation_menu_voice_call"
app:showAsAction="ifRoom" />
<item
android:id="@+id/conversation_video_call"
android:icon="@drawable/ic_videocam_white_24px"
android:orderInCategory="1"
android:orderInCategory="2"
android:title="@string/nc_conversation_menu_video_call"
app:showAsAction="ifRoom" />
<item
android:id="@+id/conversation_search"
android:icon="@drawable/ic_search_white_24dp"
android:orderInCategory="2"
android:orderInCategory="3"
android:title="@string/nc_search"
app:showAsAction="ifRoom" />
<item
android:id="@+id/conversation_info"
android:orderInCategory="3"
android:orderInCategory="4"
android:title="@string/nc_conversation_menu_conversation_info"
app:showAsAction="never" />
<item
android:id="@+id/shared_items"
android:orderInCategory="4"
android:orderInCategory="5"
android:title="@string/nc_shared_items"
app:showAsAction="never" />
</menu>

View File

@ -403,6 +403,7 @@ How to translate with transifex:
<string name="nc_date_header_today">Today</string>
<string name="nc_conversation_menu_voice_call">Voice call</string>
<string name="nc_conversation_menu_video_call">Video call</string>
<string name="nc_event_conversation_menu">Event conversation menu</string>
<string name="nc_conversation_menu_conversation_info">Conversation info</string>
<string name="nc_new_messages">Unread messages</string>
<string name="nc_sent_a_gif" formatted="true">%1$s sent a GIF.</string>