From cb73e9366d974056c69db3cbe531e0f0fa113833 Mon Sep 17 00:00:00 2001
From: Mario Danic <mario@lovelyhq.com>
Date: Thu, 19 Dec 2019 23:54:36 +0100
Subject: [PATCH] Add canStartCall to conversation entity

---
 .../nextcloud/talk/models/json/conversations/Conversation.kt | 3 +++
 .../talk/newarch/local/models/ConversationEntity.kt          | 5 +++++
 2 files changed, 8 insertions(+)

diff --git a/app/src/main/java/com/nextcloud/talk/models/json/conversations/Conversation.kt b/app/src/main/java/com/nextcloud/talk/models/json/conversations/Conversation.kt
index 74186489d..6864fa7e1 100644
--- a/app/src/main/java/com/nextcloud/talk/models/json/conversations/Conversation.kt
+++ b/app/src/main/java/com/nextcloud/talk/models/json/conversations/Conversation.kt
@@ -93,6 +93,9 @@ class Conversation {
     var lobbyTimer: Long? = 0
     @JsonField(name = ["lastReadMessageId"])
     var lastReadMessageId: Long = 0
+    @JsonField(name = ["canStartCall"])
+    var canStartCall: Boolean? = true
+    @JsonIgnore
     var changing: Boolean = false
 
     val isPublic: Boolean = ConversationType.PUBLIC_CONVERSATION == type
diff --git a/app/src/main/java/com/nextcloud/talk/newarch/local/models/ConversationEntity.kt b/app/src/main/java/com/nextcloud/talk/newarch/local/models/ConversationEntity.kt
index 5e6780291..3f79dc8c5 100644
--- a/app/src/main/java/com/nextcloud/talk/newarch/local/models/ConversationEntity.kt
+++ b/app/src/main/java/com/nextcloud/talk/newarch/local/models/ConversationEntity.kt
@@ -72,6 +72,8 @@ data class ConversationEntity(
         @ColumnInfo(name = "lobby_state") var lobbyState: LobbyState? = null,
         @ColumnInfo(name = "lobby_timer") var lobbyTimer: Long? = null,
         @ColumnInfo(name = "last_read_message") var lastReadMessageId: Long = 0,
+        @ColumnInfo(name = "can_start_call") var canStartCall: Boolean? = true,
+
         @ColumnInfo(name = "modified_at") var modifiedAt: Long? = null,
         @ColumnInfo(name = "changing") var changing: Boolean = false
 ) {
@@ -104,6 +106,7 @@ data class ConversationEntity(
         if (conversationReadOnlyState != other.conversationReadOnlyState) return false
         if (lobbyState != other.lobbyState) return false
         if (lobbyTimer != other.lobbyTimer) return false
+        if (canStartCall != other.canStartCall) return false
         if (lastReadMessageId != other.lastReadMessageId) return false
         if (changing != other.changing) return false
 
@@ -144,6 +147,7 @@ fun ConversationEntity.toConversation(): Conversation {
     conversation.conversationReadOnlyState = this.conversationReadOnlyState
     conversation.lobbyState = this.lobbyState
     conversation.lobbyTimer = this.lobbyTimer
+    conversation.canStartCall = this.canStartCall
     conversation.lastReadMessageId = this.lastReadMessageId
     conversation.changing = this.changing
 
@@ -174,6 +178,7 @@ fun Conversation.toConversationEntity(): ConversationEntity {
     conversationEntity.lobbyState = this.lobbyState
     conversationEntity.lobbyTimer = this.lobbyTimer
     conversationEntity.lastReadMessageId = this.lastReadMessageId
+    conversationEntity.canStartCall = this.canStartCall
     conversationEntity.type = this.type
     conversationEntity.changing = this.changing