Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Use sft for one on one calls when needed cherrypick 4.6 #3235

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions app/src/main/kotlin/com/wire/android/ui/calling/CallState.kt
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import com.wire.android.model.ImageAsset.UserAvatarAsset
import com.wire.android.ui.calling.model.UICallParticipant
import com.wire.android.ui.home.conversationslist.model.Membership
import com.wire.kalium.logic.data.call.CallStatus
import com.wire.kalium.logic.data.call.ConversationType
import com.wire.kalium.logic.data.call.ConversationTypeForCall
import com.wire.kalium.logic.data.conversation.Conversation
import com.wire.kalium.logic.data.id.ConversationId

Expand All @@ -38,7 +38,7 @@ data class CallState(
val isOnFrontCamera: Boolean = true,
val isSpeakerOn: Boolean = false,
val isCbrEnabled: Boolean = false,
val conversationType: ConversationType = ConversationType.OneOnOne,
val conversationTypeForCall: ConversationTypeForCall = ConversationTypeForCall.OneOnOne,
val membership: Membership = Membership.None,
val protocolInfo: Conversation.ProtocolInfo? = null,
val mlsVerificationStatus: Conversation.VerificationStatus = Conversation.VerificationStatus.NOT_VERIFIED,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ import com.wire.android.util.dispatchers.DispatcherProvider
import com.wire.android.util.ui.WireSessionImageLoader
import com.wire.kalium.logic.data.call.Call
import com.wire.kalium.logic.data.call.CallStatus
import com.wire.kalium.logic.data.call.ConversationType
import com.wire.kalium.logic.data.call.ConversationTypeForCall
import com.wire.kalium.logic.data.call.VideoState
import com.wire.kalium.logic.data.conversation.Conversation
import com.wire.kalium.logic.data.conversation.ConversationDetails
Expand Down Expand Up @@ -145,7 +145,7 @@ class SharedCallingViewModel @Inject constructor(
is ConversationDetails.Group -> {
callState.copy(
conversationName = getConversationName(details.conversation.name),
conversationType = ConversationType.Conference,
conversationTypeForCall = ConversationTypeForCall.Conference,
protocolInfo = details.conversation.protocol,
mlsVerificationStatus = details.conversation.mlsVerificationStatus,
proteusVerificationStatus = details.conversation.proteusVerificationStatus
Expand All @@ -158,7 +158,7 @@ class SharedCallingViewModel @Inject constructor(
avatarAssetId = details.otherUser.completePicture?.let { assetId ->
ImageAsset.UserAvatarAsset(wireSessionImageLoader, assetId)
},
conversationType = ConversationType.OneOnOne,
conversationTypeForCall = ConversationTypeForCall.OneOnOne,
membership = userTypeMapper.toMembership(details.otherUser.userType),
protocolInfo = details.conversation.protocol,
mlsVerificationStatus = details.conversation.mlsVerificationStatus,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ import com.wire.android.ui.home.conversationslist.model.Membership
import com.wire.android.ui.home.conversationslist.model.hasLabel
import com.wire.android.ui.theme.wireTypography
import com.wire.android.util.EMPTY
import com.wire.kalium.logic.data.call.ConversationType
import com.wire.kalium.logic.data.call.ConversationTypeForCall
import com.wire.kalium.logic.data.conversation.Conversation
import com.wire.kalium.logic.data.id.ConversationId
import java.util.Locale
Expand All @@ -63,7 +63,7 @@ fun CallerDetails(
isCameraOn: Boolean,
isCbrEnabled: Boolean,
avatarAssetId: ImageAsset.UserAvatarAsset?,
conversationType: ConversationType,
conversationTypeForCall: ConversationTypeForCall,
membership: Membership,
callingLabel: String,
protocolInfo: Conversation.ProtocolInfo?,
Expand Down Expand Up @@ -130,7 +130,7 @@ fun CallerDetails(
modifier = Modifier.padding(top = dimensions().spacing8x)
)

if (!isCameraOn && conversationType == ConversationType.OneOnOne) {
if (!isCameraOn && conversationTypeForCall == ConversationTypeForCall.OneOnOne) {
UserProfileAvatar(
avatarData = UserAvatarData(avatarAssetId),
size = dimensions().initiatingCallUserAvatarSize,
Expand All @@ -149,7 +149,7 @@ fun PreviewCallerDetails() {
isCameraOn = false,
isCbrEnabled = false,
avatarAssetId = null,
conversationType = ConversationType.OneOnOne,
conversationTypeForCall = ConversationTypeForCall.OneOnOne,
membership = Membership.Guest,
callingLabel = String.EMPTY,
protocolInfo = null,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ import com.wire.android.ui.destinations.OngoingCallScreenDestination
import com.wire.android.ui.theme.wireTypography
import com.wire.android.util.extension.openAppInfoScreen
import com.wire.android.util.permission.rememberCallingRecordAudioRequestFlow
import com.wire.kalium.logic.data.call.ConversationType
import com.wire.kalium.logic.data.call.ConversationTypeForCall
import com.wire.kalium.logic.data.id.ConversationId

@RootNavGraph
Expand Down Expand Up @@ -212,7 +212,7 @@ private fun IncomingCallContent(
onVideoPreviewCreated = onVideoPreviewCreated,
onSelfClearVideoPreview = onSelfClearVideoPreview
)
val isCallingString = if (callState.conversationType == ConversationType.Conference) {
val isCallingString = if (callState.conversationTypeForCall == ConversationTypeForCall.Conference) {
stringResource(R.string.calling_label_incoming_call_someone_calling, callState.callerName ?: "")
} else stringResource(R.string.calling_label_incoming_call)

Expand All @@ -222,7 +222,7 @@ private fun IncomingCallContent(
isCameraOn = callState.isCameraOn,
isCbrEnabled = callState.isCbrEnabled,
avatarAssetId = callState.avatarAssetId,
conversationType = callState.conversationType,
conversationTypeForCall = callState.conversationTypeForCall,
membership = callState.membership,
callingLabel = isCallingString,
protocolInfo = callState.protocolInfo,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ private fun InitiatingCallContent(
isCameraOn = callState.isCameraOn,
isCbrEnabled = callState.isCbrEnabled,
avatarAssetId = callState.avatarAssetId,
conversationType = callState.conversationType,
conversationTypeForCall = callState.conversationTypeForCall,
membership = callState.membership,
callingLabel = stringResource(id = R.string.calling_label_ringing_call),
protocolInfo = callState.protocolInfo,
Expand Down
2 changes: 1 addition & 1 deletion kalium
Submodule kalium updated 27 files
+8 −0 logic/src/androidInstrumentedTest/kotlin/com/wire/kalium/logic/feature/call/CallManagerTest.kt
+4 −4 logic/src/androidInstrumentedTest/kotlin/com/wire/kalium/logic/feature/call/scenario/OnIncomingCallTest.kt
+2 −0 logic/src/appleMain/kotlin/com/wire/kalium/logic/feature/call/CallManagerImpl.kt
+2 −0 logic/src/appleMain/kotlin/com/wire/kalium/logic/feature/call/GlobalCallManager.kt
+8 −9 logic/src/commonJvmAndroid/kotlin/com/wire/kalium/logic/feature/call/CallManagerImpl.kt
+3 −0 logic/src/commonJvmAndroid/kotlin/com/wire/kalium/logic/feature/call/GlobalCallManager.kt
+2 −2 logic/src/commonJvmAndroid/kotlin/com/wire/kalium/logic/feature/call/scenario/OnIncomingCall.kt
+2 −2 logic/src/commonMain/kotlin/com/wire/kalium/logic/data/call/CallRepository.kt
+1 −1 logic/src/commonMain/kotlin/com/wire/kalium/logic/data/call/ConversationTypeForCall.kt
+44 −28 logic/src/commonMain/kotlin/com/wire/kalium/logic/data/call/mapper/CallMapper.kt
+4 −0 logic/src/commonMain/kotlin/com/wire/kalium/logic/data/conversation/ConversationMapper.kt
+8 −0 logic/src/commonMain/kotlin/com/wire/kalium/logic/data/conversation/ConversationRepository.kt
+1 −1 logic/src/commonMain/kotlin/com/wire/kalium/logic/data/featureConfig/FeatureConfigMapper.kt
+24 −12 logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/UserSessionScope.kt
+2 −0 logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/call/CallManager.kt
+4 −1 logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/call/CallsScope.kt
+2 −0 logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/call/GlobalCallManager.kt
+71 −0 logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/call/usecase/GetCallConversationTypeProvider.kt
+6 −0 logic/src/commonMain/kotlin/com/wire/kalium/logic/feature/call/usecase/StartCallUseCase.kt
+17 −7 logic/src/commonTest/kotlin/com/wire/kalium/logic/data/call/CallMapperTest.kt
+10 −10 logic/src/commonTest/kotlin/com/wire/kalium/logic/data/call/CallRepositoryTest.kt
+274 −0 logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/call/usecase/GetCallConversationTypeProviderTest.kt
+21 −4 logic/src/commonTest/kotlin/com/wire/kalium/logic/feature/call/usecase/StartCallUseCaseTest.kt
+1 −1 ...rc/commonMain/kotlin/com/wire/kalium/network/api/base/authenticated/featureConfigs/FeatureConfigResponse.kt
+3 −0 persistence/src/commonMain/db_user/com/wire/kalium/persistence/Conversations.sq
+1 −0 persistence/src/commonMain/kotlin/com/wire/kalium/persistence/dao/conversation/ConversationDAO.kt
+5 −0 persistence/src/commonMain/kotlin/com/wire/kalium/persistence/dao/conversation/ConversationDAOImpl.kt
Loading