mirror of
https://github.com/Novaloop-AG/element-x-android.git
synced 2026-11-04 10:32:34 +00:00
Remove JoinRule.Private from the codebase (#6129)
It shouldn't be in use, since it was never properly defined: - The `Private` values coming from the SDK are considered to be `Invite` instead. - Remove any existing `JoinRule.Private` usages in our code.
This commit is contained in:
committed by
GitHub
parent
4776dcc1e9
commit
bd6bad963e
+1
-1
@@ -35,7 +35,7 @@ sealed interface JoinRuleItem {
|
|||||||
* Transforms a [JoinRuleItem] option into a [JoinRule].
|
* Transforms a [JoinRuleItem] option into a [JoinRule].
|
||||||
*/
|
*/
|
||||||
fun toJoinRule(): JoinRule = when (this) {
|
fun toJoinRule(): JoinRule = when (this) {
|
||||||
Private -> JoinRule.Private
|
Private -> JoinRule.Invite
|
||||||
PublicVisibility.Public -> JoinRule.Public
|
PublicVisibility.Public -> JoinRule.Public
|
||||||
PublicVisibility.AskToJoin -> JoinRule.Knock
|
PublicVisibility.AskToJoin -> JoinRule.Knock
|
||||||
is PublicVisibility.Restricted -> JoinRule.Restricted(persistentListOf(AllowRule.RoomMembership(parentSpaceId)))
|
is PublicVisibility.Restricted -> JoinRule.Restricted(persistentListOf(AllowRule.RoomMembership(parentSpaceId)))
|
||||||
|
|||||||
+1
-1
@@ -18,7 +18,7 @@ import org.junit.Test
|
|||||||
class JoinRuleItemTest {
|
class JoinRuleItemTest {
|
||||||
@Test
|
@Test
|
||||||
fun `toJoinRule works as expected`() {
|
fun `toJoinRule works as expected`() {
|
||||||
assertThat(JoinRuleItem.Private.toJoinRule()).isEqualTo(JoinRule.Private)
|
assertThat(JoinRuleItem.Private.toJoinRule()).isEqualTo(JoinRule.Invite)
|
||||||
assertThat(JoinRuleItem.PublicVisibility.Public.toJoinRule()).isEqualTo(JoinRule.Public)
|
assertThat(JoinRuleItem.PublicVisibility.Public.toJoinRule()).isEqualTo(JoinRule.Public)
|
||||||
assertThat(JoinRuleItem.PublicVisibility.AskToJoin.toJoinRule()).isEqualTo(JoinRule.Knock)
|
assertThat(JoinRuleItem.PublicVisibility.AskToJoin.toJoinRule()).isEqualTo(JoinRule.Knock)
|
||||||
assertThat(JoinRuleItem.PublicVisibility.Restricted(A_ROOM_ID).toJoinRule())
|
assertThat(JoinRuleItem.PublicVisibility.Restricted(A_ROOM_ID).toJoinRule())
|
||||||
|
|||||||
+2
-3
@@ -376,10 +376,9 @@ private fun JoinRule?.toJoinAuthorisationStatus(): JoinAuthorisationStatus {
|
|||||||
return when (this) {
|
return when (this) {
|
||||||
JoinRule.Knock,
|
JoinRule.Knock,
|
||||||
is JoinRule.KnockRestricted -> JoinAuthorisationStatus.CanKnock
|
is JoinRule.KnockRestricted -> JoinAuthorisationStatus.CanKnock
|
||||||
JoinRule.Invite,
|
JoinRule.Invite -> JoinAuthorisationStatus.NeedInvite
|
||||||
JoinRule.Private -> JoinAuthorisationStatus.NeedInvite
|
|
||||||
is JoinRule.Restricted -> JoinAuthorisationStatus.Restricted
|
is JoinRule.Restricted -> JoinAuthorisationStatus.Restricted
|
||||||
JoinRule.Public -> JoinAuthorisationStatus.CanJoin
|
JoinRule.Public -> JoinAuthorisationStatus.CanJoin
|
||||||
else -> JoinAuthorisationStatus.Unknown
|
is JoinRule.Custom, null -> JoinAuthorisationStatus.Unknown
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
-28
@@ -1035,34 +1035,6 @@ class JoinRoomPresenterTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
|
||||||
fun `present - when room is not known RoomPreview is loaded as Private`() = runTest {
|
|
||||||
val client = FakeMatrixClient(
|
|
||||||
getNotJoinedRoomResult = { _, _ ->
|
|
||||||
Result.success(
|
|
||||||
aRoomPreview(
|
|
||||||
info = aRoomPreviewInfo(joinRule = JoinRule.Private),
|
|
||||||
roomMembershipDetails = {
|
|
||||||
Result.success(aRoomMembershipDetails())
|
|
||||||
},
|
|
||||||
)
|
|
||||||
)
|
|
||||||
},
|
|
||||||
spaceService = FakeSpaceService(
|
|
||||||
spaceRoomListResult = { FakeSpaceRoomList() },
|
|
||||||
),
|
|
||||||
)
|
|
||||||
val presenter = createJoinRoomPresenter(
|
|
||||||
matrixClient = client
|
|
||||||
)
|
|
||||||
presenter.test {
|
|
||||||
skipItems(1)
|
|
||||||
awaitItem().also { state ->
|
|
||||||
assertThat(state.joinAuthorisationStatus).isEqualTo(JoinAuthorisationStatus.NeedInvite)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `present - when room is not known RoomPreview is loaded as Custom`() = runTest {
|
fun `present - when room is not known RoomPreview is loaded as Custom`() = runTest {
|
||||||
val client = FakeMatrixClient(
|
val client = FakeMatrixClient(
|
||||||
|
|||||||
+1
-1
@@ -582,7 +582,7 @@ class RoomDetailsPresenterTest {
|
|||||||
assertThat(awaitItem().canShowKnockRequests).isFalse()
|
assertThat(awaitItem().canShowKnockRequests).isFalse()
|
||||||
featureFlagService.setFeatureEnabled(FeatureFlags.Knock, true)
|
featureFlagService.setFeatureEnabled(FeatureFlags.Knock, true)
|
||||||
assertThat(awaitItem().canShowKnockRequests).isTrue()
|
assertThat(awaitItem().canShowKnockRequests).isTrue()
|
||||||
room.givenRoomInfo(aRoomInfo(joinRule = JoinRule.Private))
|
room.givenRoomInfo(aRoomInfo(joinRule = JoinRule.Invite))
|
||||||
assertThat(awaitItem().canShowKnockRequests).isFalse()
|
assertThat(awaitItem().canShowKnockRequests).isFalse()
|
||||||
cancelAndIgnoreRemainingEvents()
|
cancelAndIgnoreRemainingEvents()
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-2
@@ -472,7 +472,6 @@ private fun JoinRule?.map(): SecurityAndPrivacyRoomAccess {
|
|||||||
JoinRule.Invite -> SecurityAndPrivacyRoomAccess.InviteOnly
|
JoinRule.Invite -> SecurityAndPrivacyRoomAccess.InviteOnly
|
||||||
// All other cases are not supported so we default to InviteOnly
|
// All other cases are not supported so we default to InviteOnly
|
||||||
is JoinRule.Custom,
|
is JoinRule.Custom,
|
||||||
JoinRule.Private,
|
|
||||||
null -> SecurityAndPrivacyRoomAccess.InviteOnly
|
null -> SecurityAndPrivacyRoomAccess.InviteOnly
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -481,7 +480,7 @@ private fun SecurityAndPrivacyRoomAccess.map(): JoinRule? {
|
|||||||
return when (this) {
|
return when (this) {
|
||||||
SecurityAndPrivacyRoomAccess.Anyone -> JoinRule.Public
|
SecurityAndPrivacyRoomAccess.Anyone -> JoinRule.Public
|
||||||
SecurityAndPrivacyRoomAccess.AskToJoin -> JoinRule.Knock
|
SecurityAndPrivacyRoomAccess.AskToJoin -> JoinRule.Knock
|
||||||
SecurityAndPrivacyRoomAccess.InviteOnly -> JoinRule.Private
|
SecurityAndPrivacyRoomAccess.InviteOnly -> JoinRule.Invite
|
||||||
is SecurityAndPrivacyRoomAccess.SpaceMember -> JoinRule.Restricted(
|
is SecurityAndPrivacyRoomAccess.SpaceMember -> JoinRule.Restricted(
|
||||||
rules = this.spaceIds.map { AllowRule.RoomMembership(it) }.toImmutableList()
|
rules = this.spaceIds.map { AllowRule.RoomMembership(it) }.toImmutableList()
|
||||||
)
|
)
|
||||||
|
|||||||
+2
-2
@@ -309,7 +309,7 @@ class SecurityAndPrivacyPresenterTest {
|
|||||||
baseRoom = FakeBaseRoom(
|
baseRoom = FakeBaseRoom(
|
||||||
roomPermissions = roomPermissions(),
|
roomPermissions = roomPermissions(),
|
||||||
getRoomVisibilityResult = { Result.success(RoomVisibility.Private) },
|
getRoomVisibilityResult = { Result.success(RoomVisibility.Private) },
|
||||||
initialRoomInfo = aRoomInfo(historyVisibility = RoomHistoryVisibility.Shared, joinRule = JoinRule.Private)
|
initialRoomInfo = aRoomInfo(historyVisibility = RoomHistoryVisibility.Shared, joinRule = JoinRule.Invite)
|
||||||
),
|
),
|
||||||
enableEncryptionResult = enableEncryptionLambda,
|
enableEncryptionResult = enableEncryptionLambda,
|
||||||
updateJoinRuleResult = updateJoinRuleLambda,
|
updateJoinRuleResult = updateJoinRuleLambda,
|
||||||
@@ -1091,7 +1091,7 @@ class SecurityAndPrivacyPresenterTest {
|
|||||||
baseRoom = FakeBaseRoom(
|
baseRoom = FakeBaseRoom(
|
||||||
roomPermissions = roomPermissions(),
|
roomPermissions = roomPermissions(),
|
||||||
getRoomVisibilityResult = { Result.success(RoomVisibility.Private) },
|
getRoomVisibilityResult = { Result.success(RoomVisibility.Private) },
|
||||||
initialRoomInfo = aRoomInfo(historyVisibility = RoomHistoryVisibility.Shared, joinRule = JoinRule.Private)
|
initialRoomInfo = aRoomInfo(historyVisibility = RoomHistoryVisibility.Shared, joinRule = JoinRule.Invite)
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
navigator: SecurityAndPrivacyNavigator = FakeSecurityAndPrivacyNavigator(),
|
navigator: SecurityAndPrivacyNavigator = FakeSecurityAndPrivacyNavigator(),
|
||||||
|
|||||||
+2
-2
@@ -38,7 +38,7 @@ class LeaveSpaceStateProvider : PreviewParameterProvider<LeaveSpaceState> {
|
|||||||
),
|
),
|
||||||
aSelectableSpaceRoom(
|
aSelectableSpaceRoom(
|
||||||
spaceRoom = aSpaceRoom(
|
spaceRoom = aSpaceRoom(
|
||||||
joinRule = JoinRule.Private,
|
joinRule = JoinRule.Invite,
|
||||||
),
|
),
|
||||||
isSelected = false,
|
isSelected = false,
|
||||||
),
|
),
|
||||||
@@ -56,7 +56,7 @@ class LeaveSpaceStateProvider : PreviewParameterProvider<LeaveSpaceState> {
|
|||||||
),
|
),
|
||||||
aSelectableSpaceRoom(
|
aSelectableSpaceRoom(
|
||||||
spaceRoom = aSpaceRoom(
|
spaceRoom = aSpaceRoom(
|
||||||
joinRule = JoinRule.Private,
|
joinRule = JoinRule.Invite,
|
||||||
),
|
),
|
||||||
isSelected = true,
|
isSelected = true,
|
||||||
),
|
),
|
||||||
|
|||||||
+2
-2
@@ -311,8 +311,8 @@ private fun SpaceItem(
|
|||||||
Row(
|
Row(
|
||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
) {
|
) {
|
||||||
if (room.joinRule == JoinRule.Private) {
|
if (room.joinRule == JoinRule.Invite) {
|
||||||
// Picto for private
|
// Picto for invite only
|
||||||
Icon(
|
Icon(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.size(16.dp)
|
.size(16.dp)
|
||||||
|
|||||||
-1
@@ -37,7 +37,6 @@ fun MediaPreviewValue?.isPreviewEnabled(joinRule: JoinRule?): Boolean {
|
|||||||
null, On -> true
|
null, On -> true
|
||||||
Off -> false
|
Off -> false
|
||||||
Private -> when (joinRule) {
|
Private -> when (joinRule) {
|
||||||
is JoinRule.Private,
|
|
||||||
is JoinRule.Knock,
|
is JoinRule.Knock,
|
||||||
is JoinRule.Invite,
|
is JoinRule.Invite,
|
||||||
is JoinRule.Restricted,
|
is JoinRule.Restricted,
|
||||||
|
|||||||
-1
@@ -14,7 +14,6 @@ import kotlinx.collections.immutable.ImmutableList
|
|||||||
@Immutable
|
@Immutable
|
||||||
sealed interface JoinRule {
|
sealed interface JoinRule {
|
||||||
data object Public : JoinRule
|
data object Public : JoinRule
|
||||||
data object Private : JoinRule
|
|
||||||
data object Knock : JoinRule
|
data object Knock : JoinRule
|
||||||
data object Invite : JoinRule
|
data object Invite : JoinRule
|
||||||
data class Restricted(val rules: ImmutableList<AllowRule>) : JoinRule
|
data class Restricted(val rules: ImmutableList<AllowRule>) : JoinRule
|
||||||
|
|||||||
+2
-2
@@ -15,7 +15,8 @@ import org.matrix.rustcomponents.sdk.JoinRule as RustJoinRule
|
|||||||
fun RustJoinRule.map(): JoinRule {
|
fun RustJoinRule.map(): JoinRule {
|
||||||
return when (this) {
|
return when (this) {
|
||||||
RustJoinRule.Public -> JoinRule.Public
|
RustJoinRule.Public -> JoinRule.Public
|
||||||
RustJoinRule.Private -> JoinRule.Private
|
// Assume a private join rule is invite only instead. Private shouldn't be in use in Matrix.
|
||||||
|
RustJoinRule.Private -> JoinRule.Invite
|
||||||
RustJoinRule.Knock -> JoinRule.Knock
|
RustJoinRule.Knock -> JoinRule.Knock
|
||||||
RustJoinRule.Invite -> JoinRule.Invite
|
RustJoinRule.Invite -> JoinRule.Invite
|
||||||
is RustJoinRule.Restricted -> JoinRule.Restricted(rules.map { it.map() }.toImmutableList())
|
is RustJoinRule.Restricted -> JoinRule.Restricted(rules.map { it.map() }.toImmutableList())
|
||||||
@@ -27,7 +28,6 @@ fun RustJoinRule.map(): JoinRule {
|
|||||||
fun JoinRule.map(): RustJoinRule {
|
fun JoinRule.map(): RustJoinRule {
|
||||||
return when (this) {
|
return when (this) {
|
||||||
JoinRule.Public -> RustJoinRule.Public
|
JoinRule.Public -> RustJoinRule.Public
|
||||||
JoinRule.Private -> RustJoinRule.Private
|
|
||||||
JoinRule.Knock -> RustJoinRule.Knock
|
JoinRule.Knock -> RustJoinRule.Knock
|
||||||
JoinRule.Invite -> RustJoinRule.Invite
|
JoinRule.Invite -> RustJoinRule.Invite
|
||||||
is JoinRule.Restricted -> RustJoinRule.Restricted(rules.map { it.map() })
|
is JoinRule.Restricted -> RustJoinRule.Restricted(rules.map { it.map() })
|
||||||
|
|||||||
Reference in New Issue
Block a user