From 8148bfaa6503567843925cdb155c635c9a88763e Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Tue, 21 Jun 2022 14:22:41 +0200 Subject: [PATCH] add poll system message, klint fixes Signed-off-by: Marcel Hibbe --- .../com/nextcloud/talk/models/json/chat/ChatMessage.kt | 3 ++- .../json/converters/EnumSystemMessageTypeConverter.kt | 3 +++ .../talk/polls/repositories/PollRepositoryImpl.kt | 9 ++++++--- .../com/nextcloud/talk/polls/ui/PollResultsFragment.kt | 3 +-- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatMessage.kt index faa0f1e50..312ad14a5 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatMessage.kt @@ -490,7 +490,8 @@ data class ChatMessage( CLEARED_CHAT, REACTION, REACTION_DELETED, - REACTION_REVOKED + REACTION_REVOKED, + POLL_VOTED } companion object { diff --git a/app/src/main/java/com/nextcloud/talk/models/json/converters/EnumSystemMessageTypeConverter.kt b/app/src/main/java/com/nextcloud/talk/models/json/converters/EnumSystemMessageTypeConverter.kt index caa75ec2b..3a8049a78 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/converters/EnumSystemMessageTypeConverter.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/converters/EnumSystemMessageTypeConverter.kt @@ -65,6 +65,7 @@ import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.MODERAT import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.OBJECT_SHARED import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.PASSWORD_REMOVED import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.PASSWORD_SET +import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.POLL_VOTED import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.REACTION import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.REACTION_DELETED import com.nextcloud.talk.models.json.chat.ChatMessage.SystemMessageType.REACTION_REVOKED @@ -167,6 +168,7 @@ class EnumSystemMessageTypeConverter : StringBasedTypeConverter REACTION "reaction_deleted" -> REACTION_DELETED "reaction_revoked" -> REACTION_REVOKED + "poll_voted" -> POLL_VOTED else -> DUMMY } } @@ -224,6 +226,7 @@ class EnumSystemMessageTypeConverter : StringBasedTypeConverter return "reaction" REACTION_DELETED -> return "reaction_deleted" REACTION_REVOKED -> return "reaction_revoked" + POLL_VOTED -> return "poll_voted" else -> return "" } } diff --git a/app/src/main/java/com/nextcloud/talk/polls/repositories/PollRepositoryImpl.kt b/app/src/main/java/com/nextcloud/talk/polls/repositories/PollRepositoryImpl.kt index c10e862cb..e95843190 100644 --- a/app/src/main/java/com/nextcloud/talk/polls/repositories/PollRepositoryImpl.kt +++ b/app/src/main/java/com/nextcloud/talk/polls/repositories/PollRepositoryImpl.kt @@ -39,10 +39,13 @@ class PollRepositoryImpl(private val ncApi: NcApi, private val currentUserProvid ) override fun createPoll( - roomToken: String, question: String, options: List, resultMode: Int, maxVotes: + roomToken: String, + question: String, + options: List, + resultMode: Int, + maxVotes: Int - ): - Observable? { + ): Observable? { return ncApi.createPoll( credentials, ApiUtils.getUrlForPoll( diff --git a/app/src/main/java/com/nextcloud/talk/polls/ui/PollResultsFragment.kt b/app/src/main/java/com/nextcloud/talk/polls/ui/PollResultsFragment.kt index 0f42523a5..4ed2c9404 100644 --- a/app/src/main/java/com/nextcloud/talk/polls/ui/PollResultsFragment.kt +++ b/app/src/main/java/com/nextcloud/talk/polls/ui/PollResultsFragment.kt @@ -94,14 +94,13 @@ class PollResultsFragment( ) { Log.d(TAG, "show results also if self never voted") } - } } private fun initPollResults(poll: Poll) { if (poll.details != null) { val votersAmount = poll.details.size - val oneVoteInPercent = 100 / votersAmount // TODO: poll.numVoters when fixed on api + val oneVoteInPercent = 100 / votersAmount // TODO: poll.numVoters when fixed on api poll.options?.forEachIndexed { index, option -> val votersForThisOption = poll.details.filter { it.optionId == index }.size