rename voiceIntent to isAudioCall
This commit is contained in:
@@ -26,10 +26,10 @@ sealed interface CallType : NodeInputs, Parcelable {
|
|||||||
data class RoomCall(
|
data class RoomCall(
|
||||||
val sessionId: SessionId,
|
val sessionId: SessionId,
|
||||||
val roomId: RoomId,
|
val roomId: RoomId,
|
||||||
val voiceIntent: Boolean
|
val isAudioCall: Boolean
|
||||||
) : CallType {
|
) : CallType {
|
||||||
override fun toString(): String {
|
override fun toString(): String {
|
||||||
return "RoomCall(sessionId=$sessionId, roomId=$roomId, voiceIntent=$voiceIntent)"
|
return "RoomCall(sessionId=$sessionId, roomId=$roomId, isAudioCall=$isAudioCall)"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ class DefaultElementCallEntryPoint(
|
|||||||
expirationTimestamp = expirationTimestamp,
|
expirationTimestamp = expirationTimestamp,
|
||||||
notificationChannelId = notificationChannelId,
|
notificationChannelId = notificationChannelId,
|
||||||
textContent = textContent,
|
textContent = textContent,
|
||||||
audioOnly = callType.voiceIntent
|
audioOnly = callType.isAudioCall
|
||||||
)
|
)
|
||||||
activeCallManager.registerIncomingCall(notificationData = incomingCallNotificationData)
|
activeCallManager.registerIncomingCall(notificationData = incomingCallNotificationData)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ class RingingCallNotificationCreator(
|
|||||||
.setImportant(true)
|
.setImportant(true)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
val answerIntent = IntentProvider.getPendingIntent(context, CallType.RoomCall(sessionId, roomId, voiceIntent = audioOnly))
|
val answerIntent = IntentProvider.getPendingIntent(context, CallType.RoomCall(sessionId, roomId, isAudioCall = audioOnly))
|
||||||
val notificationData = CallNotificationData(
|
val notificationData = CallNotificationData(
|
||||||
sessionId = sessionId,
|
sessionId = sessionId,
|
||||||
roomId = roomId,
|
roomId = roomId,
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ class DeclineCallBroadcastReceiver : BroadcastReceiver() {
|
|||||||
callType = CallType.RoomCall(
|
callType = CallType.RoomCall(
|
||||||
sessionId = notificationData.sessionId,
|
sessionId = notificationData.sessionId,
|
||||||
roomId = notificationData.roomId,
|
roomId = notificationData.roomId,
|
||||||
voiceIntent = notificationData.audioOnly
|
isAudioCall = notificationData.audioOnly
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ class IncomingCallActivity : AppCompatActivity() {
|
|||||||
CallType.RoomCall(
|
CallType.RoomCall(
|
||||||
notificationData.sessionId,
|
notificationData.sessionId,
|
||||||
notificationData.roomId,
|
notificationData.roomId,
|
||||||
voiceIntent = notificationData.audioOnly
|
isAudioCall = notificationData.audioOnly
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -147,7 +147,7 @@ class DefaultActiveCallManager(
|
|||||||
sessionId = notificationData.sessionId,
|
sessionId = notificationData.sessionId,
|
||||||
roomId = notificationData.roomId,
|
roomId = notificationData.roomId,
|
||||||
// TODO
|
// TODO
|
||||||
voiceIntent = notificationData.audioOnly,
|
isAudioCall = notificationData.audioOnly,
|
||||||
),
|
),
|
||||||
callState = CallState.Ringing(notificationData),
|
callState = CallState.Ringing(notificationData),
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -272,11 +272,11 @@ class MessagesFlowNode(
|
|||||||
backstack.push(NavTarget.EditPoll(Timeline.Mode.Live, eventId))
|
backstack.push(NavTarget.EditPoll(Timeline.Mode.Live, eventId))
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun navigateToRoomCall(roomId: RoomId, voiceIntent: Boolean) {
|
override fun navigateToRoomCall(roomId: RoomId, isAudioCall: Boolean) {
|
||||||
val callType = CallType.RoomCall(
|
val callType = CallType.RoomCall(
|
||||||
sessionId = sessionId,
|
sessionId = sessionId,
|
||||||
roomId = roomId,
|
roomId = roomId,
|
||||||
voiceIntent = voiceIntent
|
isAudioCall = isAudioCall
|
||||||
)
|
)
|
||||||
analyticsService.captureInteraction(Interaction.Name.MobileRoomCallButton)
|
analyticsService.captureInteraction(Interaction.Name.MobileRoomCallButton)
|
||||||
elementCallEntryPoint.startCall(callType)
|
elementCallEntryPoint.startCall(callType)
|
||||||
@@ -493,7 +493,7 @@ class MessagesFlowNode(
|
|||||||
val callType = CallType.RoomCall(
|
val callType = CallType.RoomCall(
|
||||||
sessionId = sessionId,
|
sessionId = sessionId,
|
||||||
roomId = roomId,
|
roomId = roomId,
|
||||||
voiceIntent = voiceOnly
|
isAudioCall = voiceOnly
|
||||||
)
|
)
|
||||||
analyticsService.captureInteraction(Interaction.Name.MobileRoomCallButton)
|
analyticsService.captureInteraction(Interaction.Name.MobileRoomCallButton)
|
||||||
elementCallEntryPoint.startCall(callType)
|
elementCallEntryPoint.startCall(callType)
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ class MessagesNode(
|
|||||||
fun navigateToSendLocation()
|
fun navigateToSendLocation()
|
||||||
fun navigateToCreatePoll()
|
fun navigateToCreatePoll()
|
||||||
fun navigateToEditPoll(eventId: EventId)
|
fun navigateToEditPoll(eventId: EventId)
|
||||||
fun navigateToRoomCall(roomId: RoomId, voiceIntent: Boolean)
|
fun navigateToRoomCall(roomId: RoomId, isAudioCall: Boolean)
|
||||||
fun navigateToThread(threadRootId: ThreadId, focusedEventId: EventId?)
|
fun navigateToThread(threadRootId: ThreadId, focusedEventId: EventId?)
|
||||||
fun navigateToRoomDetails()
|
fun navigateToRoomDetails()
|
||||||
fun navigateToPinnedMessagesList()
|
fun navigateToPinnedMessagesList()
|
||||||
|
|||||||
@@ -130,7 +130,7 @@ fun MessagesView(
|
|||||||
onLinkClick: (String, Boolean) -> Unit,
|
onLinkClick: (String, Boolean) -> Unit,
|
||||||
onSendLocationClick: () -> Unit,
|
onSendLocationClick: () -> Unit,
|
||||||
onCreatePollClick: () -> Unit,
|
onCreatePollClick: () -> Unit,
|
||||||
onJoinCallClick: (voiceIntent: Boolean) -> Unit,
|
onJoinCallClick: (isAudioCall: Boolean) -> Unit,
|
||||||
onViewAllPinnedMessagesClick: () -> Unit,
|
onViewAllPinnedMessagesClick: () -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
forceJumpToBottomVisibility: Boolean = false,
|
forceJumpToBottomVisibility: Boolean = false,
|
||||||
@@ -423,7 +423,7 @@ private fun MessagesViewContent(
|
|||||||
onMessageLongClick: (TimelineItem.Event) -> Unit,
|
onMessageLongClick: (TimelineItem.Event) -> Unit,
|
||||||
onSendLocationClick: () -> Unit,
|
onSendLocationClick: () -> Unit,
|
||||||
onCreatePollClick: () -> Unit,
|
onCreatePollClick: () -> Unit,
|
||||||
onJoinCallClick: (voiceIntent: Boolean) -> Unit,
|
onJoinCallClick: (isAudioCall: Boolean) -> Unit,
|
||||||
onViewAllPinnedMessagesClick: () -> Unit,
|
onViewAllPinnedMessagesClick: () -> Unit,
|
||||||
forceJumpToBottomVisibility: Boolean,
|
forceJumpToBottomVisibility: Boolean,
|
||||||
onSwipeToReply: (TimelineItem.Event) -> Unit,
|
onSwipeToReply: (TimelineItem.Event) -> Unit,
|
||||||
|
|||||||
@@ -281,8 +281,8 @@ class ThreadedMessagesNode(
|
|||||||
},
|
},
|
||||||
onSendLocationClick = callback::navigateToSendLocation,
|
onSendLocationClick = callback::navigateToSendLocation,
|
||||||
onCreatePollClick = callback::navigateToCreatePoll,
|
onCreatePollClick = callback::navigateToCreatePoll,
|
||||||
onJoinCallClick = { voiceIntent ->
|
onJoinCallClick = { isAudioCall ->
|
||||||
callback.navigateToRoomCall(room.roomId, voiceIntent)
|
callback.navigateToRoomCall(room.roomId, isAudioCall)
|
||||||
},
|
},
|
||||||
onViewAllPinnedMessagesClick = {},
|
onViewAllPinnedMessagesClick = {},
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ fun TimelineView(
|
|||||||
onReactionLongClick: (emoji: String, TimelineItem.Event) -> Unit,
|
onReactionLongClick: (emoji: String, TimelineItem.Event) -> Unit,
|
||||||
onMoreReactionsClick: (TimelineItem.Event) -> Unit,
|
onMoreReactionsClick: (TimelineItem.Event) -> Unit,
|
||||||
onReadReceiptClick: (TimelineItem.Event) -> Unit,
|
onReadReceiptClick: (TimelineItem.Event) -> Unit,
|
||||||
onJoinCallClick: (voiceIntent: Boolean) -> Unit,
|
onJoinCallClick: (isAudioCall: Boolean) -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
lazyListState: LazyListState = rememberLazyListState(),
|
lazyListState: LazyListState = rememberLazyListState(),
|
||||||
forceJumpToBottomVisibility: Boolean = false,
|
forceJumpToBottomVisibility: Boolean = false,
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ internal fun CallMenuItem(
|
|||||||
is RoomCallState.OnGoing -> {
|
is RoomCallState.OnGoing -> {
|
||||||
OnGoingCallMenuItem(
|
OnGoingCallMenuItem(
|
||||||
roomCallState = roomCallState,
|
roomCallState = roomCallState,
|
||||||
onJoinCallClick = { onJoinCallClick(roomCallState.isVoiceIntent) },
|
onJoinCallClick = { onJoinCallClick(roomCallState.isAudioCall) },
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -109,7 +109,7 @@ private fun OnGoingCallMenuItem(
|
|||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
modifier = Modifier.size(20.dp),
|
modifier = Modifier.size(20.dp),
|
||||||
imageVector = if (roomCallState.isVoiceIntent) {
|
imageVector = if (roomCallState.isAudioCall) {
|
||||||
CompoundIcons.VoiceCallSolid()
|
CompoundIcons.VoiceCallSolid()
|
||||||
} else {
|
} else {
|
||||||
CompoundIcons.VideoCallSolid()
|
CompoundIcons.VideoCallSolid()
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ internal fun TimelineItemRow(
|
|||||||
onMoreReactionsClick: (TimelineItem.Event) -> Unit,
|
onMoreReactionsClick: (TimelineItem.Event) -> Unit,
|
||||||
onReadReceiptClick: (TimelineItem.Event) -> Unit,
|
onReadReceiptClick: (TimelineItem.Event) -> Unit,
|
||||||
onSwipeToReply: (TimelineItem.Event) -> Unit,
|
onSwipeToReply: (TimelineItem.Event) -> Unit,
|
||||||
onJoinCallClick: (voiceIntent: Boolean) -> Unit,
|
onJoinCallClick: (isAudioCall: Boolean) -> Unit,
|
||||||
eventSink: (TimelineEvent.TimelineItemEvent) -> Unit,
|
eventSink: (TimelineEvent.TimelineItemEvent) -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
eventContentView: @Composable (TimelineItem.Event, Modifier, (ContentAvoidingLayoutData) -> Unit) -> Unit =
|
eventContentView: @Composable (TimelineItem.Event, Modifier, (ContentAvoidingLayoutData) -> Unit) -> Unit =
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ internal fun MessagesViewTopBar(
|
|||||||
dmUserIdentityState: IdentityState?,
|
dmUserIdentityState: IdentityState?,
|
||||||
sharedHistoryIcon: SharedHistoryIcon,
|
sharedHistoryIcon: SharedHistoryIcon,
|
||||||
onRoomDetailsClick: () -> Unit,
|
onRoomDetailsClick: () -> Unit,
|
||||||
onJoinCallClick: (voiceIntent: Boolean) -> Unit,
|
onJoinCallClick: (isAudioCall: Boolean) -> Unit,
|
||||||
onBackClick: () -> Unit,
|
onBackClick: () -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ sealed interface RoomCallState {
|
|||||||
|
|
||||||
data class OnGoing(
|
data class OnGoing(
|
||||||
val canJoinCall: Boolean,
|
val canJoinCall: Boolean,
|
||||||
val isVoiceIntent: Boolean,
|
val isAudioCall: Boolean,
|
||||||
val isUserInTheCall: Boolean,
|
val isUserInTheCall: Boolean,
|
||||||
val isUserLocallyInTheCall: Boolean,
|
val isUserLocallyInTheCall: Boolean,
|
||||||
) : RoomCallState
|
) : RoomCallState
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ open class RoomCallStateProvider : PreviewParameterProvider<RoomCallState> {
|
|||||||
anOngoingCallState(),
|
anOngoingCallState(),
|
||||||
anOngoingCallState(canJoinCall = false),
|
anOngoingCallState(canJoinCall = false),
|
||||||
anOngoingCallState(canJoinCall = true, isUserInTheCall = true),
|
anOngoingCallState(canJoinCall = true, isUserInTheCall = true),
|
||||||
anOngoingCallState(canJoinCall = true, isVoiceIntent = true),
|
anOngoingCallState(canJoinCall = true, isAudioCall = true),
|
||||||
RoomCallState.Unavailable,
|
RoomCallState.Unavailable,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -26,12 +26,12 @@ fun anOngoingCallState(
|
|||||||
canJoinCall: Boolean = true,
|
canJoinCall: Boolean = true,
|
||||||
isUserInTheCall: Boolean = false,
|
isUserInTheCall: Boolean = false,
|
||||||
isUserLocallyInTheCall: Boolean = isUserInTheCall,
|
isUserLocallyInTheCall: Boolean = isUserInTheCall,
|
||||||
isVoiceIntent: Boolean = false,
|
isAudioCall: Boolean = false,
|
||||||
) = RoomCallState.OnGoing(
|
) = RoomCallState.OnGoing(
|
||||||
canJoinCall = canJoinCall,
|
canJoinCall = canJoinCall,
|
||||||
isUserInTheCall = isUserInTheCall,
|
isUserInTheCall = isUserInTheCall,
|
||||||
isUserLocallyInTheCall = isUserLocallyInTheCall,
|
isUserLocallyInTheCall = isUserLocallyInTheCall,
|
||||||
isVoiceIntent = isVoiceIntent
|
isAudioCall = isAudioCall
|
||||||
)
|
)
|
||||||
|
|
||||||
fun aStandByCallState(
|
fun aStandByCallState(
|
||||||
|
|||||||
@@ -56,7 +56,8 @@ class RoomCallStatePresenter(
|
|||||||
canJoinCall = canJoinCall,
|
canJoinCall = canJoinCall,
|
||||||
isUserInTheCall = isUserInTheCall,
|
isUserInTheCall = isUserInTheCall,
|
||||||
isUserLocallyInTheCall = isUserLocallyInTheCall,
|
isUserLocallyInTheCall = isUserLocallyInTheCall,
|
||||||
isVoiceIntent = false // TODO
|
// TODO resolve intent while the call is ongoing
|
||||||
|
isAudioCall = false
|
||||||
)
|
)
|
||||||
else -> RoomCallState.StandBy(canStartCall = canJoinCall)
|
else -> RoomCallState.StandBy(canStartCall = canJoinCall)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -228,7 +228,7 @@ class RoomDetailsFlowNode(
|
|||||||
val inputs = CallType.RoomCall(
|
val inputs = CallType.RoomCall(
|
||||||
sessionId = room.sessionId,
|
sessionId = room.sessionId,
|
||||||
roomId = room.roomId,
|
roomId = room.roomId,
|
||||||
voiceIntent = callIntent == CallIntent.AUDIO
|
isAudioCall = callIntent == CallIntent.AUDIO
|
||||||
)
|
)
|
||||||
analyticsService.captureInteraction(Interaction.Name.MobileRoomCallButton)
|
analyticsService.captureInteraction(Interaction.Name.MobileRoomCallButton)
|
||||||
elementCallEntryPoint.startCall(inputs)
|
elementCallEntryPoint.startCall(inputs)
|
||||||
@@ -291,7 +291,7 @@ class RoomDetailsFlowNode(
|
|||||||
CallType.RoomCall(
|
CallType.RoomCall(
|
||||||
roomId = dmRoomId,
|
roomId = dmRoomId,
|
||||||
sessionId = room.sessionId,
|
sessionId = room.sessionId,
|
||||||
voiceIntent = callIntent == CallIntent.AUDIO
|
isAudioCall = callIntent == CallIntent.AUDIO
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ import io.element.android.libraries.matrix.api.core.EventId
|
|||||||
import io.element.android.libraries.matrix.api.core.RoomId
|
import io.element.android.libraries.matrix.api.core.RoomId
|
||||||
import io.element.android.libraries.matrix.api.core.SessionId
|
import io.element.android.libraries.matrix.api.core.SessionId
|
||||||
import io.element.android.libraries.matrix.api.core.UserId
|
import io.element.android.libraries.matrix.api.core.UserId
|
||||||
|
import io.element.android.libraries.matrix.api.notification.CallIntent
|
||||||
import io.element.android.libraries.matrix.api.verification.VerificationRequest
|
import io.element.android.libraries.matrix.api.verification.VerificationRequest
|
||||||
import io.element.android.libraries.mediaviewer.api.MediaViewerEntryPoint
|
import io.element.android.libraries.mediaviewer.api.MediaViewerEntryPoint
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
@@ -83,9 +84,14 @@ class UserProfileFlowNode(
|
|||||||
callback.navigateToRoom(roomId)
|
callback.navigateToRoom(roomId)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun startCall(dmRoomId: RoomId) {
|
override fun startCall(dmRoomId: RoomId, callIntent: CallIntent) {
|
||||||
// TODO
|
elementCallEntryPoint.startCall(
|
||||||
elementCallEntryPoint.startCall(CallType.RoomCall(sessionId = sessionId, roomId = dmRoomId, voiceIntent = false))
|
CallType.RoomCall(
|
||||||
|
sessionId = sessionId,
|
||||||
|
roomId = dmRoomId,
|
||||||
|
isAudioCall = callIntent == CallIntent.AUDIO
|
||||||
|
)
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun startVerifyUserFlow(userId: UserId) {
|
override fun startVerifyUserFlow(userId: UserId) {
|
||||||
|
|||||||
@@ -304,7 +304,7 @@ class DefaultPushHandler(
|
|||||||
callType = CallType.RoomCall(
|
callType = CallType.RoomCall(
|
||||||
notifiableEvent.sessionId,
|
notifiableEvent.sessionId,
|
||||||
notifiableEvent.roomId,
|
notifiableEvent.roomId,
|
||||||
voiceIntent = notifiableEvent.callIntent == CallIntent.AUDIO
|
isAudioCall = notifiableEvent.callIntent == CallIntent.AUDIO
|
||||||
),
|
),
|
||||||
eventId = notifiableEvent.eventId,
|
eventId = notifiableEvent.eventId,
|
||||||
senderId = notifiableEvent.senderId,
|
senderId = notifiableEvent.senderId,
|
||||||
|
|||||||
Reference in New Issue
Block a user