Merge remote-tracking branch 'origin/develop' into feature/eric/new-chat-bottom-sheet

This commit is contained in:
ericdecanini 2022-08-18 17:38:15 +02:00
commit 90ab40dccb
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() { fun searchTestOneResult() {
val emojiDataSource = createEmojiDataSource() val emojiDataSource = createEmojiDataSource()
val result = runBlocking { val result = runBlocking {
emojiDataSource.filterWith("france") emojiDataSource.filterWith("flag-france")
} }
assertEquals("Should have 1 result", 1, result.size) assertEquals("Should have 1 result", 1, result.size)
} }

View File

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

View File

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