diff --git a/app/src/main/java/com/nextcloud/talk/models/json/conversations/ConversationEnums.kt b/app/src/main/java/com/nextcloud/talk/models/json/conversations/ConversationEnums.kt index 44dd302b5..bca14bf3b 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/conversations/ConversationEnums.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/conversations/ConversationEnums.kt @@ -44,6 +44,8 @@ class ConversationEnums { SHARE_PASSWORD, FILE, ROOM, - EVENT + EVENT, + PHONE, + INSTANT_MEETING } } diff --git a/app/src/main/java/com/nextcloud/talk/models/json/converters/ConversationObjectTypeConverter.kt b/app/src/main/java/com/nextcloud/talk/models/json/converters/ConversationObjectTypeConverter.kt index 817f1b089..b0566332c 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/converters/ConversationObjectTypeConverter.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/converters/ConversationObjectTypeConverter.kt @@ -16,6 +16,8 @@ class ConversationObjectTypeConverter : StringBasedTypeConverter ConversationEnums.ObjectType.ROOM "file" -> ConversationEnums.ObjectType.FILE "event" -> ConversationEnums.ObjectType.EVENT + "phone" -> ConversationEnums.ObjectType.PHONE + "instant_meeting" -> ConversationEnums.ObjectType.INSTANT_MEETING else -> ConversationEnums.ObjectType.DEFAULT } } @@ -30,6 +32,8 @@ class ConversationObjectTypeConverter : StringBasedTypeConverter "room" ConversationEnums.ObjectType.FILE -> "file" ConversationEnums.ObjectType.EVENT -> "event" + ConversationEnums.ObjectType.PHONE -> "phone" + ConversationEnums.ObjectType.INSTANT_MEETING -> "instant_meeting" else -> "" } } diff --git a/app/src/main/java/com/nextcloud/talk/utils/CapabilitiesUtil.kt b/app/src/main/java/com/nextcloud/talk/utils/CapabilitiesUtil.kt index 8ed61b5c7..5fc262adf 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/CapabilitiesUtil.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/CapabilitiesUtil.kt @@ -140,6 +140,36 @@ object CapabilitiesUtil { return false } + fun retentionOfEventRooms(spreedCapabilities: SpreedCapability): Int { + if (spreedCapabilities.config?.containsKey("conversations") == true) { + val map = spreedCapabilities.config!!["conversations"] + if (map?.containsKey("retention-event") == true) { + return map["retention-event"].toString().toInt() + } + } + return 0 + } + + fun retentionOfSIP(spreedCapabilities: SpreedCapability): Int { + if (spreedCapabilities.config?.containsKey("conversations") == true) { + val map = spreedCapabilities.config!!["conversations"] + if (map?.containsKey("retention-phone") == true) { + return map["retention-phone"].toString().toInt() + } + } + return 0 + } + + fun retentionOfInstantMeetings(spreedCapabilities: SpreedCapability): Int { + if (spreedCapabilities.config?.containsKey("conversations") == true) { + val map = spreedCapabilities.config!!["conversations"] + if (map?.containsKey("retention-instant-meetings") == true) { + return map["retention-instant-meetings"].toString().toInt() + } + } + return 0 + } + @JvmStatic fun isCallRecordingAvailable(spreedCapabilities: SpreedCapability): Boolean { if (hasSpreedFeatureCapability(spreedCapabilities, SpreedFeatures.RECORDING_V1) &&