Merge pull request #6866 from vector-im/feature/fre/start_dm_from_room_member_details
Start DM on first message when selecting "direct message" from the room member details screen
This commit is contained in:
commit
ac0af80e48
|
@ -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
|
|
@ -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(
|
||||
|
|
|
@ -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)
|
||||
analyticsTracker.capture(CreatedRoom(isDM = roomParams.isDirect.orFalse()))
|
||||
roomId = if (vectorFeatures.shouldStartDmOnFirstMessage()) {
|
||||
session.roomService().createLocalRoom(roomParams)
|
||||
} else {
|
||||
analyticsTracker.capture(CreatedRoom(isDM = roomParams.isDirect.orFalse()))
|
||||
session.roomService().createRoom(roomParams)
|
||||
}
|
||||
}
|
||||
return roomId
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue