diff --git a/app/src/main/java/com/nextcloud/talk/api/NcApiCoroutines.kt b/app/src/main/java/com/nextcloud/talk/api/NcApiCoroutines.kt index 168932dff..aa356b95f 100644 --- a/app/src/main/java/com/nextcloud/talk/api/NcApiCoroutines.kt +++ b/app/src/main/java/com/nextcloud/talk/api/NcApiCoroutines.kt @@ -179,6 +179,19 @@ interface NcApiCoroutines { @Url url: String ): GenericOverall + + @POST + suspend fun markConversationAsImportant( + @Header("Authorization") authorization: String, + @Url url: String + ): GenericOverall + + @DELETE + suspend fun markConversationAsUnimportant( + @Header("Authorization") authorization: String, + @Url url: String + ): GenericOverall + @DELETE suspend fun removeConversationFromFavorites( @Header("Authorization") authorization: String, diff --git a/app/src/main/java/com/nextcloud/talk/data/database/mappers/ConversationMapUtils.kt b/app/src/main/java/com/nextcloud/talk/data/database/mappers/ConversationMapUtils.kt index 5353bbf7c..dd28633e3 100644 --- a/app/src/main/java/com/nextcloud/talk/data/database/mappers/ConversationMapUtils.kt +++ b/app/src/main/java/com/nextcloud/talk/data/database/mappers/ConversationMapUtils.kt @@ -62,7 +62,8 @@ fun ConversationModel.asEntity() = remoteServer = remoteServer, remoteToken = remoteToken, hasArchived = hasArchived, - hasSensitive = hasSensitive + hasSensitive = hasSensitive, + hasImportant = hasImportant ) fun ConversationEntity.asModel() = @@ -115,7 +116,8 @@ fun ConversationEntity.asModel() = remoteServer = remoteServer, remoteToken = remoteToken, hasArchived = hasArchived, - hasSensitive = hasSensitive + hasSensitive = hasSensitive, + hasImportant = hasImportant ) fun Conversation.asEntity(accountId: Long) = @@ -167,5 +169,6 @@ fun Conversation.asEntity(accountId: Long) = remoteServer = remoteServer, remoteToken = remoteToken, hasArchived = hasArchived, - hasSensitive = hasSensitive + hasSensitive = hasSensitive, + hasImportant = hasImportant ) diff --git a/app/src/main/java/com/nextcloud/talk/data/database/model/ConversationEntity.kt b/app/src/main/java/com/nextcloud/talk/data/database/model/ConversationEntity.kt index dd71050bb..8cdd4db58 100644 --- a/app/src/main/java/com/nextcloud/talk/data/database/model/ConversationEntity.kt +++ b/app/src/main/java/com/nextcloud/talk/data/database/model/ConversationEntity.kt @@ -95,7 +95,8 @@ data class ConversationEntity( @ColumnInfo(name = "unreadMentionDirect") var unreadMentionDirect: Boolean, @ColumnInfo(name = "unreadMessages") var unreadMessages: Int = 0, @ColumnInfo(name = "hasArchived") var hasArchived: Boolean = false, - @ColumnInfo(name = "hasSensitive") var hasSensitive: Boolean = false + @ColumnInfo(name = "hasSensitive") var hasSensitive: Boolean = false, + @ColumnInfo(name = "hasImportant") var hasImportant: Boolean = false // missing/not needed: attendeeId // missing/not needed: attendeePin // missing/not needed: attendeePermissions diff --git a/app/src/main/java/com/nextcloud/talk/models/domain/ConversationModel.kt b/app/src/main/java/com/nextcloud/talk/models/domain/ConversationModel.kt index 6f87e672c..fbbfc6c46 100644 --- a/app/src/main/java/com/nextcloud/talk/models/domain/ConversationModel.kt +++ b/app/src/main/java/com/nextcloud/talk/models/domain/ConversationModel.kt @@ -62,10 +62,10 @@ class ConversationModel( var remoteToken: String? = null, var hasArchived: Boolean = false, var hasSensitive: Boolean = false, + var hasImportant:Boolean = false, // attributes that don't come from API. This should be changed?! var password: String? = null - ) { companion object { @@ -128,7 +128,8 @@ class ConversationModel( remoteServer = conversation.remoteServer, remoteToken = conversation.remoteToken, hasArchived = conversation.hasArchived, - hasSensitive = conversation.hasSensitive + hasSensitive = conversation.hasSensitive, + hasImportant = conversation.hasImportant ) } } 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 3bb542a75..c6750a2ec 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 @@ -168,5 +168,8 @@ data class Conversation( var hasArchived: Boolean = false, @JsonField(name = ["isSensitive"]) - var hasSensitive: Boolean = false + var hasSensitive: Boolean = false, + + @JsonField(name = ["isImportant"]) + var hasImportant: Boolean = false ) : Parcelable