@@ -65,7 +65,8 @@ enum class SpreedFeatures(val value: String) {
6565 UNIFIED_SEARCH (" unified-search" ),
6666 LOCKED_ONE_TO_ONE (" locked-one-to-one-rooms" ),
6767 CHAT_PERMISSION (" chat-permission" ),
68- CONVERSATION_PERMISSION (" conversation-permissions" )
68+ CONVERSATION_PERMISSION (" conversation-permissions" ),
69+ FEDERATION_V1 (" federation-v1" )
6970}
7071
7172@Suppress(" TooManyFunctions" )
@@ -102,6 +103,10 @@ object CapabilitiesUtil {
102103 return false
103104 }
104105
106+ fun isSharedItemsAvailable (spreedCapabilities : SpreedCapability ): Boolean {
107+ return hasSpreedFeatureCapability(spreedCapabilities, SpreedFeatures .RICH_OBJECT_LIST_MEDIA )
108+ }
109+
105110 fun getMessageMaxLength (spreedCapabilities : SpreedCapability ): Int {
106111 if (spreedCapabilities.config?.containsKey(" chat" ) == true ) {
107112 val chatConfigHashMap = spreedCapabilities.config!! [" chat" ]
@@ -155,6 +160,9 @@ object CapabilitiesUtil {
155160 }
156161
157162 fun isUnifiedSearchAvailable (spreedCapabilities : SpreedCapability ): Boolean {
163+ if (hasSpreedFeatureCapability(spreedCapabilities, SpreedFeatures .FEDERATION_V1 )) {
164+ return false
165+ }
158166 return hasSpreedFeatureCapability(spreedCapabilities, SpreedFeatures .UNIFIED_SEARCH )
159167 }
160168
@@ -238,6 +246,13 @@ object CapabilitiesUtil {
238246 return false
239247 }
240248
249+ fun isFederationAvailable (user : User ): Boolean {
250+ return hasSpreedFeatureCapability(user.capabilities!! .spreedCapability!! , SpreedFeatures .FEDERATION_V1 ) &&
251+ user.capabilities!! .spreedCapability!! .config?.containsKey(" federation" ) == true &&
252+ user.capabilities!! .spreedCapability!! .config!! [" federation" ] != null &&
253+ user.capabilities!! .spreedCapability!! .config!! [" federation" ]!! .containsKey(" enabled" )
254+ }
255+
241256 // endregion
242257
243258 // region ThemingCapabilities
0 commit comments