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 topic: String?
|
||||||
val avatarUrl: String?
|
val avatarUrl: String?
|
||||||
val isEncrypted: Boolean
|
val isEncrypted: Boolean
|
||||||
|
val isSpace: Boolean
|
||||||
val isDirect: Boolean
|
val isDirect: Boolean
|
||||||
val isPublic: Boolean
|
val isPublic: Boolean
|
||||||
val activeMemberCount: Long
|
val activeMemberCount: Long
|
||||||
|
|||||||
@@ -213,6 +213,9 @@ class RustMatrixRoom(
|
|||||||
override val isPublic: Boolean
|
override val isPublic: Boolean
|
||||||
get() = innerRoom.isPublic()
|
get() = innerRoom.isPublic()
|
||||||
|
|
||||||
|
override val isSpace: Boolean
|
||||||
|
get() = innerRoom.isSpace()
|
||||||
|
|
||||||
override val isDirect: Boolean
|
override val isDirect: Boolean
|
||||||
get() = innerRoom.isDirect()
|
get() = innerRoom.isDirect()
|
||||||
|
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ class FakeMatrixRoom(
|
|||||||
override val alias: String? = null,
|
override val alias: String? = null,
|
||||||
override val alternativeAliases: List<String> = emptyList(),
|
override val alternativeAliases: List<String> = emptyList(),
|
||||||
override val isPublic: Boolean = true,
|
override val isPublic: Boolean = true,
|
||||||
|
override val isSpace: Boolean = false,
|
||||||
override val isDirect: Boolean = false,
|
override val isDirect: Boolean = false,
|
||||||
override val isOneToOne: Boolean = false,
|
override val isOneToOne: Boolean = false,
|
||||||
override val joinedMemberCount: Long = 123L,
|
override val joinedMemberCount: Long = 123L,
|
||||||
|
|||||||
@@ -17,8 +17,6 @@
|
|||||||
package io.element.android.services.analytics.api.extensions
|
package io.element.android.services.analytics.api.extensions
|
||||||
|
|
||||||
import im.vector.app.features.analytics.plan.JoinedRoom
|
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
|
import io.element.android.libraries.matrix.api.room.MatrixRoom
|
||||||
|
|
||||||
fun Long?.toAnalyticsRoomSize(): JoinedRoom.RoomSize {
|
fun Long?.toAnalyticsRoomSize(): JoinedRoom.RoomSize {
|
||||||
@@ -34,9 +32,9 @@ fun Long?.toAnalyticsRoomSize(): JoinedRoom.RoomSize {
|
|||||||
|
|
||||||
fun MatrixRoom.toAnalyticsJoinedRoom(trigger: JoinedRoom.Trigger?): JoinedRoom {
|
fun MatrixRoom.toAnalyticsJoinedRoom(trigger: JoinedRoom.Trigger?): JoinedRoom {
|
||||||
return JoinedRoom(
|
return JoinedRoom(
|
||||||
isDM = this.isDirect.orFalse(),
|
isDM = isDirect,
|
||||||
isSpace = MatrixPatterns.isSpaceId(this.roomId.value),
|
isSpace = isSpace,
|
||||||
roomSize = this.joinedMemberCount.toAnalyticsRoomSize(),
|
roomSize = joinedMemberCount.toAnalyticsRoomSize(),
|
||||||
trigger = trigger
|
trigger = trigger
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,16 +17,14 @@
|
|||||||
package io.element.android.services.analytics.api.extensions
|
package io.element.android.services.analytics.api.extensions
|
||||||
|
|
||||||
import im.vector.app.features.analytics.plan.ViewRoom
|
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
|
import io.element.android.libraries.matrix.api.room.MatrixRoom
|
||||||
|
|
||||||
fun MatrixRoom.toAnalyticsViewRoom(trigger: ViewRoom.Trigger? = null, selectedSpace: MatrixRoom? = null, viaKeyboard: Boolean? = null): ViewRoom {
|
fun MatrixRoom.toAnalyticsViewRoom(trigger: ViewRoom.Trigger? = null, selectedSpace: MatrixRoom? = null, viaKeyboard: Boolean? = null): ViewRoom {
|
||||||
val activeSpace = selectedSpace?.toActiveSpace() ?: ViewRoom.ActiveSpace.Home
|
val activeSpace = selectedSpace?.toActiveSpace() ?: ViewRoom.ActiveSpace.Home
|
||||||
|
|
||||||
return ViewRoom(
|
return ViewRoom(
|
||||||
isDM = this.isDirect.orFalse(),
|
isDM = isDirect,
|
||||||
isSpace = MatrixPatterns.isSpaceId(this.roomId.value),
|
isSpace = isSpace,
|
||||||
trigger = trigger,
|
trigger = trigger,
|
||||||
activeSpace = activeSpace,
|
activeSpace = activeSpace,
|
||||||
viaKeyboard = viaKeyboard
|
viaKeyboard = viaKeyboard
|
||||||
|
|||||||
Reference in New Issue
Block a user