Add a hook to disable public rooms/spaces on UI.

This commit is contained in:
mxandreas
2026-10-05 09:30:01 +03:00
parent a6d9d27c68
commit 84fdbbe573
11 changed files with 130 additions and 13 deletions
@@ -29,4 +29,10 @@ interface SessionEnterpriseService {
/** Whether the homeserver forbids creating encrypted rooms, in which case the app must not offer the option. */
suspend fun isEncryptionDisabledByHomeserver(): Boolean
/**
* Whether the homeserver forbids public rooms and spaces, in which case the app must not offer to create one,
* nor to make an existing room or space public.
*/
suspend fun arePublicRoomsDisabledByHomeserver(): Boolean
}
@@ -18,4 +18,5 @@ class DefaultSessionEnterpriseService : SessionEnterpriseService {
override suspend fun tweakMasUrl(url: String): String = url
override suspend fun isElementCallAvailable(): Boolean = true
override suspend fun isEncryptionDisabledByHomeserver(): Boolean = false
override suspend fun arePublicRoomsDisabledByHomeserver(): Boolean = false
}
@@ -16,6 +16,7 @@ class FakeSessionEnterpriseService(
private val isElementCallAvailableResult: () -> Boolean = { lambdaError() },
private val tweakMasUrlResult: (String) -> String = { lambdaError() },
private val isEncryptionDisabledResult: () -> Boolean = { lambdaError() },
private val arePublicRoomsDisabledResult: () -> Boolean = { lambdaError() },
) : SessionEnterpriseService {
override suspend fun init() {
}
@@ -31,4 +32,8 @@ class FakeSessionEnterpriseService(
override suspend fun isEncryptionDisabledByHomeserver(): Boolean {
return isEncryptionDisabledResult()
}
override suspend fun arePublicRoomsDisabledByHomeserver(): Boolean {
return arePublicRoomsDisabledResult()
}
}