Fix analytics: spaceId have the same syntax as roomId. Use MatrixRoom.isSpace instead of MatrixPatterns.isSpaceId (#2612)
Also remoce useless orFalse() calls.
This commit is contained in:
1
changelog.d/2612.bugfix
Normal file
1
changelog.d/2612.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Fix analytics issue around room considered as space by mistake.
|
||||
@@ -55,6 +55,7 @@ interface MatrixRoom : Closeable {
|
||||
val topic: String?
|
||||
val avatarUrl: String?
|
||||
val isEncrypted: Boolean
|
||||
val isSpace: Boolean
|
||||
val isDirect: Boolean
|
||||
val isPublic: Boolean
|
||||
val activeMemberCount: Long
|
||||
|
||||
@@ -213,6 +213,9 @@ class RustMatrixRoom(
|
||||
override val isPublic: Boolean
|
||||
get() = innerRoom.isPublic()
|
||||
|
||||
override val isSpace: Boolean
|
||||
get() = innerRoom.isSpace()
|
||||
|
||||
override val isDirect: Boolean
|
||||
get() = innerRoom.isDirect()
|
||||
|
||||
|
||||
@@ -77,6 +77,7 @@ class FakeMatrixRoom(
|
||||
override val alias: String? = null,
|
||||
override val alternativeAliases: List<String> = emptyList(),
|
||||
override val isPublic: Boolean = true,
|
||||
override val isSpace: Boolean = false,
|
||||
override val isDirect: Boolean = false,
|
||||
override val isOneToOne: Boolean = false,
|
||||
override val joinedMemberCount: Long = 123L,
|
||||
|
||||
@@ -17,8 +17,6 @@
|
||||
package io.element.android.services.analytics.api.extensions
|
||||
|
||||
import im.vector.app.features.analytics.plan.JoinedRoom
|
||||
import io.element.android.libraries.core.bool.orFalse
|
||||
import io.element.android.libraries.matrix.api.core.MatrixPatterns
|
||||
import io.element.android.libraries.matrix.api.room.MatrixRoom
|
||||
|
||||
fun Long?.toAnalyticsRoomSize(): JoinedRoom.RoomSize {
|
||||
@@ -34,9 +32,9 @@ fun Long?.toAnalyticsRoomSize(): JoinedRoom.RoomSize {
|
||||
|
||||
fun MatrixRoom.toAnalyticsJoinedRoom(trigger: JoinedRoom.Trigger?): JoinedRoom {
|
||||
return JoinedRoom(
|
||||
isDM = this.isDirect.orFalse(),
|
||||
isSpace = MatrixPatterns.isSpaceId(this.roomId.value),
|
||||
roomSize = this.joinedMemberCount.toAnalyticsRoomSize(),
|
||||
isDM = isDirect,
|
||||
isSpace = isSpace,
|
||||
roomSize = joinedMemberCount.toAnalyticsRoomSize(),
|
||||
trigger = trigger
|
||||
)
|
||||
}
|
||||
|
||||
@@ -17,16 +17,14 @@
|
||||
package io.element.android.services.analytics.api.extensions
|
||||
|
||||
import im.vector.app.features.analytics.plan.ViewRoom
|
||||
import io.element.android.libraries.core.bool.orFalse
|
||||
import io.element.android.libraries.matrix.api.core.MatrixPatterns
|
||||
import io.element.android.libraries.matrix.api.room.MatrixRoom
|
||||
|
||||
fun MatrixRoom.toAnalyticsViewRoom(trigger: ViewRoom.Trigger? = null, selectedSpace: MatrixRoom? = null, viaKeyboard: Boolean? = null): ViewRoom {
|
||||
val activeSpace = selectedSpace?.toActiveSpace() ?: ViewRoom.ActiveSpace.Home
|
||||
|
||||
return ViewRoom(
|
||||
isDM = this.isDirect.orFalse(),
|
||||
isSpace = MatrixPatterns.isSpaceId(this.roomId.value),
|
||||
isDM = isDirect,
|
||||
isSpace = isSpace,
|
||||
trigger = trigger,
|
||||
activeSpace = activeSpace,
|
||||
viaKeyboard = viaKeyboard
|
||||
|
||||
Reference in New Issue
Block a user