diff --git a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java index 52811c344..a95a86913 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java +++ b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java @@ -2969,8 +2969,7 @@ public class CallActivity extends CallBaseActivity { } public boolean isAllowedToStartOrStopRecording() { - return CapabilitiesUtilNew.hasSpreedFeatureCapability(conversationUser, "recording-v1") && - CapabilitiesUtilNew.isCallRecordingAvailable(conversationUser) + return CapabilitiesUtilNew.isCallRecordingAvailable(conversationUser) && isModerator; } diff --git a/app/src/main/java/com/nextcloud/talk/utils/database/user/CapabilitiesUtilNew.kt b/app/src/main/java/com/nextcloud/talk/utils/database/user/CapabilitiesUtilNew.kt index e10cbfcd4..cb7d93e33 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/database/user/CapabilitiesUtilNew.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/database/user/CapabilitiesUtilNew.kt @@ -100,9 +100,13 @@ object CapabilitiesUtilNew { @JvmStatic fun isCallRecordingAvailable(user: User): Boolean { - if (user.capabilities?.spreedCapability?.config?.containsKey("call") == true) { + if (hasSpreedFeatureCapability(user, "recording-v1") && + user.capabilities?.spreedCapability?.config?.containsKey("call") == true + ) { val map: Map? = user.capabilities!!.spreedCapability!!.config!!["call"] - return map != null && map.containsKey("recording") + if (map != null && map.containsKey("recording")) { + return map["recording"].toBoolean() + } } return false }