git bundle keys for group conversation

Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
This commit is contained in:
sowjanyakch 2024-10-25 18:08:04 +02:00 committed by Marcel Hibbe
parent 9537a8d9d3
commit 6e2fdcb255
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B
4 changed files with 18 additions and 4 deletions

View File

@ -112,6 +112,8 @@ import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_CONVERSATION_PASSWORD
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_FROM_NOTIFICATION_START_CALL import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_FROM_NOTIFICATION_START_CALL
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_BREAKOUT_ROOM import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_BREAKOUT_ROOM
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_MODERATOR import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_MODERATOR
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_ROOM_GROUP
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_ROOM_ONE_TO_ONE
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_MODIFIED_BASE_URL import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_MODIFIED_BASE_URL
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_AUDIO import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_AUDIO
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_VIDEO import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_VIDEO
@ -350,6 +352,8 @@ class CallActivity : CallBaseActivity() {
private var isModerator = false private var isModerator = false
private var reactionAnimator: ReactionAnimator? = null private var reactionAnimator: ReactionAnimator? = null
private var othersInCall = false private var othersInCall = false
private var isOneToOneConversation = false
private var isGroupConversation = false
private lateinit var micInputAudioRecorder: AudioRecord private lateinit var micInputAudioRecorder: AudioRecord
private var micInputAudioRecordThread: Thread? = null private var micInputAudioRecordThread: Thread? = null
@ -381,6 +385,9 @@ class CallActivity : CallBaseActivity() {
canPublishAudioStream = extras.getBoolean(KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_AUDIO) canPublishAudioStream = extras.getBoolean(KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_AUDIO)
canPublishVideoStream = extras.getBoolean(KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_VIDEO) canPublishVideoStream = extras.getBoolean(KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_VIDEO)
isModerator = extras.getBoolean(KEY_IS_MODERATOR, false) isModerator = extras.getBoolean(KEY_IS_MODERATOR, false)
isOneToOneConversation = extras.getBoolean(KEY_IS_ROOM_ONE_TO_ONE, false)
isGroupConversation = extras.getBoolean(KEY_IS_ROOM_GROUP, false)
if (extras.containsKey(KEY_FROM_NOTIFICATION_START_CALL)) { if (extras.containsKey(KEY_FROM_NOTIFICATION_START_CALL)) {
isIncomingCallFromNotification = extras.getBoolean(KEY_FROM_NOTIFICATION_START_CALL) isIncomingCallFromNotification = extras.getBoolean(KEY_FROM_NOTIFICATION_START_CALL)
} }
@ -470,7 +477,7 @@ class CallActivity : CallBaseActivity() {
binding!!.callRecordingIndicator.visibility = View.GONE binding!!.callRecordingIndicator.visibility = View.GONE
} }
} }
initClickListeners(isModerator) initClickListeners(isModerator, isOneToOneConversation)
binding!!.microphoneButton.setOnTouchListener(MicrophoneButtonTouchListener()) binding!!.microphoneButton.setOnTouchListener(MicrophoneButtonTouchListener())
pulseAnimation = PulseAnimation.create().with(binding!!.microphoneButton) pulseAnimation = PulseAnimation.create().with(binding!!.microphoneButton)
.setDuration(310) .setDuration(310)
@ -614,7 +621,7 @@ class CallActivity : CallBaseActivity() {
} }
@SuppressLint("ClickableViewAccessibility") @SuppressLint("ClickableViewAccessibility")
private fun initClickListeners(isModerator:Boolean) { private fun initClickListeners(isModerator:Boolean, isOneToOneConversation:Boolean) {
binding!!.pictureInPictureButton.setOnClickListener { enterPipMode() } binding!!.pictureInPictureButton.setOnClickListener { enterPipMode() }
binding!!.audioOutputButton.setOnClickListener { binding!!.audioOutputButton.setOnClickListener {

View File

@ -167,6 +167,7 @@ import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_FILE_PATHS
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_INTERNAL_USER_ID import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_INTERNAL_USER_ID
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_BREAKOUT_ROOM import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_BREAKOUT_ROOM
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_MODERATOR import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_MODERATOR
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_ROOM_GROUP
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_ROOM_ONE_TO_ONE import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_IS_ROOM_ONE_TO_ONE
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_RECORDING_STATE import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_RECORDING_STATE
import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ROOM_TOKEN import com.nextcloud.talk.utils.bundle.BundleKeys.KEY_ROOM_TOKEN
@ -3073,7 +3074,8 @@ class ChatActivity :
BundleKeys.KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_AUDIO, BundleKeys.KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_AUDIO,
participantPermissions.canPublishAudio() participantPermissions.canPublishAudio()
) )
bundle.putBoolean(KEY_IS_ROOM_ONE_TO_ONE, ConversationUtils.isOneToOne(it)) bundle.putBoolean(KEY_IS_ROOM_ONE_TO_ONE, ConversationUtils.isOneToOneConversation(it))
bundle.putBoolean(KEY_IS_ROOM_GROUP, ConversationUtils.isGroupConversation(it))
bundle.putBoolean( bundle.putBoolean(
BundleKeys.KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_VIDEO, BundleKeys.KEY_PARTICIPANT_PERMISSION_CAN_PUBLISH_VIDEO,
participantPermissions.canPublishVideo() participantPermissions.canPublishVideo()

View File

@ -24,10 +24,14 @@ object ConversationUtils {
Participant.ParticipantType.USER_FOLLOWING_LINK == conversation.participantType Participant.ParticipantType.USER_FOLLOWING_LINK == conversation.participantType
} }
fun isOneToOne(conversation:ConversationModel):Boolean{ fun isOneToOneConversation(conversation:ConversationModel):Boolean{
return ConversationEnums.ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL == conversation.type return ConversationEnums.ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL == conversation.type
} }
fun isGroupConversation(conversation:ConversationModel):Boolean{
return ConversationEnums.ConversationType.ROOM_GROUP_CALL == conversation.type
}
fun isParticipantOwnerOrModerator(conversation: ConversationModel): Boolean { fun isParticipantOwnerOrModerator(conversation: ConversationModel): Boolean {
return Participant.ParticipantType.OWNER == conversation.participantType || return Participant.ParticipantType.OWNER == conversation.participantType ||
Participant.ParticipantType.GUEST_MODERATOR == conversation.participantType || Participant.ParticipantType.GUEST_MODERATOR == conversation.participantType ||

View File

@ -81,4 +81,5 @@ object BundleKeys {
const val KEY_FIELD_MAP: String = "KEY_FIELD_MAP" const val KEY_FIELD_MAP: String = "KEY_FIELD_MAP"
const val KEY_CHAT_URL: String = "KEY_CHAT_URL" const val KEY_CHAT_URL: String = "KEY_CHAT_URL"
const val KEY_IS_ROOM_ONE_TO_ONE : String = "KEY_IS_ROOM_ONE_TO_ONE" const val KEY_IS_ROOM_ONE_TO_ONE : String = "KEY_IS_ROOM_ONE_TO_ONE"
const val KEY_IS_ROOM_GROUP : String = "KEY_IS_ROOM_GROUP"
} }