11package com.wire.androidinterop
22
33import com.wire.crypto.ClientId
4+ import com.wire.crypto.CommitBundle
45import com.wire.crypto.ConversationId
56import com.wire.crypto.CoreCrypto
67import com.wire.crypto.DatabaseKey
8+ import com.wire.crypto.HistorySecret
79import com.wire.crypto.Keypackage
10+ import com.wire.crypto.MlsTransport
11+ import com.wire.crypto.MlsTransportData
12+ import com.wire.crypto.MlsTransportResponse
813import com.wire.crypto.Welcome
914import com.wire.crypto.ciphersuiteFromU16
1015import com.wire.crypto.credentialBasic
@@ -15,6 +20,20 @@ import kotlin.io.encoding.Base64
1520import kotlin.io.encoding.ExperimentalEncodingApi
1621import kotlin.random.Random
1722
23+ class DummyTransport : MlsTransport {
24+ override suspend fun sendCommitBundle (commitBundle : CommitBundle ): MlsTransportResponse {
25+ return MlsTransportResponse .Success
26+ }
27+
28+ override suspend fun sendMessage (mlsMessage : ByteArray ): MlsTransportResponse {
29+ return MlsTransportResponse .Success
30+ }
31+
32+ override suspend fun prepareForTransport (historySecret : HistorySecret ): MlsTransportData {
33+ return historySecret.data
34+ }
35+ }
36+
1837class InteropActionHandler (val coreCrypto : CoreCrypto ) {
1938 @OptIn(ExperimentalEncodingApi ::class )
2039 suspend fun handleAction (action : InteropAction ): Result <String > {
@@ -23,7 +42,8 @@ class InteropActionHandler(val coreCrypto: CoreCrypto) {
2342 coreCrypto.transaction({ context ->
2443 context.mlsInit(
2544 clientId = ClientId (action.clientId),
26- ciphersuites = listOf (ciphersuiteFromU16(action.ciphersuite.toUShort()))
45+ ciphersuites = listOf (ciphersuiteFromU16(action.ciphersuite.toUShort())),
46+ transport = DummyTransport ()
2747 )
2848
2949 context.addCredential(
0 commit comments