Merge remote-tracking branch 'origin/develop' into feature/eric/space-settings

This commit is contained in:
ericdecanini 2022-08-18 17:37:56 +02:00
commit 2a1483f6a5
4 changed files with 12 additions and 5 deletions

1
changelog.d/5525.wip Normal file
View File

@ -0,0 +1 @@
Create DM room only on first message - Trigger the flow when the "Direct Message" action is selected from the room member details screen

View File

@ -76,7 +76,7 @@ class EmojiDataSourceTest : InstrumentedTest {
fun searchTestOneResult() {
val emojiDataSource = createEmojiDataSource()
val result = runBlocking {
emojiDataSource.filterWith("france")
emojiDataSource.filterWith("flag-france")
}
assertEquals("Should have 1 result", 1, result.size)
}

View File

@ -132,10 +132,10 @@ class CreateDirectRoomViewModel @AssistedInject constructor(
if (vectorFeatures.shouldStartDmOnFirstMessage()) {
session.roomService().createLocalRoom(roomParams)
} else {
analyticsTracker.capture(CreatedRoom(isDM = roomParams.isDirect.orFalse()))
session.roomService().createRoom(roomParams)
}
}
analyticsTracker.capture(CreatedRoom(isDM = roomParams.isDirect.orFalse()))
setState {
copy(

View File

@ -16,6 +16,7 @@
package im.vector.app.features.createdirect
import im.vector.app.features.VectorFeatures
import im.vector.app.features.analytics.AnalyticsTracker
import im.vector.app.features.analytics.plan.CreatedRoom
import im.vector.app.features.raw.wellknown.getElementWellknown
@ -30,7 +31,8 @@ import javax.inject.Inject
class DirectRoomHelper @Inject constructor(
private val rawService: RawService,
private val session: Session,
private val analyticsTracker: AnalyticsTracker
private val analyticsTracker: AnalyticsTracker,
private val vectorFeatures: VectorFeatures,
) {
suspend fun ensureDMExists(userId: String): String {
@ -48,8 +50,12 @@ class DirectRoomHelper @Inject constructor(
setDirectMessage()
enableEncryptionIfInvitedUsersSupportIt = adminE2EByDefault
}
roomId = session.roomService().createRoom(roomParams)
roomId = if (vectorFeatures.shouldStartDmOnFirstMessage()) {
session.roomService().createLocalRoom(roomParams)
} else {
analyticsTracker.capture(CreatedRoom(isDM = roomParams.isDirect.orFalse()))
session.roomService().createRoom(roomParams)
}
}
return roomId
}