From 0bdbc8a538c97a22b53a4f3b9596b2b40604f536 Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Fri, 5 Apr 2024 13:25:32 +0200 Subject: [PATCH] use EnumActorTypeConverter for poll models Signed-off-by: Marcel Hibbe --- .../talk/polls/adapters/PollResultVoterViewHolder.kt | 3 +-- .../polls/adapters/PollResultVotersOverviewViewHolder.kt | 3 +-- app/src/main/java/com/nextcloud/talk/polls/model/Poll.kt | 4 +++- .../main/java/com/nextcloud/talk/polls/model/PollDetails.kt | 4 +++- .../talk/polls/repositories/model/PollDetailsResponse.kt | 6 ++++-- .../nextcloud/talk/polls/repositories/model/PollResponse.kt | 6 ++++-- 6 files changed, 16 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/polls/adapters/PollResultVoterViewHolder.kt b/app/src/main/java/com/nextcloud/talk/polls/adapters/PollResultVoterViewHolder.kt index a0da9be22..841a02a88 100644 --- a/app/src/main/java/com/nextcloud/talk/polls/adapters/PollResultVoterViewHolder.kt +++ b/app/src/main/java/com/nextcloud/talk/polls/adapters/PollResultVoterViewHolder.kt @@ -16,7 +16,6 @@ import com.nextcloud.talk.databinding.PollResultVoterItemBinding import com.nextcloud.talk.extensions.loadFederatedUserAvatar import com.nextcloud.talk.extensions.loadGuestAvatar import com.nextcloud.talk.extensions.loadUserAvatar -import com.nextcloud.talk.models.json.converters.EnumActorTypeConverter import com.nextcloud.talk.models.json.participants.Participant import com.nextcloud.talk.polls.model.PollDetails import com.nextcloud.talk.ui.theme.ViewThemeUtils @@ -41,7 +40,7 @@ class PollResultVoterViewHolder( } private fun loadAvatar(pollDetail: PollDetails, avatar: ImageView) { - when (EnumActorTypeConverter().getFromString(pollDetail.actorType)) { + when (pollDetail.actorType) { Participant.ActorType.GUESTS -> { var displayName = NextcloudTalkApplication.sharedApplication?.resources?.getString(R.string.nc_guest) if (!TextUtils.isEmpty(pollDetail.actorDisplayName)) { diff --git a/app/src/main/java/com/nextcloud/talk/polls/adapters/PollResultVotersOverviewViewHolder.kt b/app/src/main/java/com/nextcloud/talk/polls/adapters/PollResultVotersOverviewViewHolder.kt index c9219a0e3..5b3184e49 100644 --- a/app/src/main/java/com/nextcloud/talk/polls/adapters/PollResultVotersOverviewViewHolder.kt +++ b/app/src/main/java/com/nextcloud/talk/polls/adapters/PollResultVotersOverviewViewHolder.kt @@ -19,7 +19,6 @@ import com.nextcloud.talk.databinding.PollResultVotersOverviewItemBinding import com.nextcloud.talk.extensions.loadFederatedUserAvatar import com.nextcloud.talk.extensions.loadGuestAvatar import com.nextcloud.talk.extensions.loadUserAvatar -import com.nextcloud.talk.models.json.converters.EnumActorTypeConverter import com.nextcloud.talk.models.json.participants.Participant import com.nextcloud.talk.polls.model.PollDetails import com.nextcloud.talk.utils.DisplayUtils @@ -71,7 +70,7 @@ class PollResultVotersOverviewViewHolder( } private fun loadAvatar(pollDetail: PollDetails, avatar: ImageView) { - when (EnumActorTypeConverter().getFromString(pollDetail.actorType)) { + when (pollDetail.actorType) { Participant.ActorType.GUESTS -> { var displayName = NextcloudTalkApplication.sharedApplication?.resources?.getString(R.string.nc_guest) if (!TextUtils.isEmpty(pollDetail.actorDisplayName)) { diff --git a/app/src/main/java/com/nextcloud/talk/polls/model/Poll.kt b/app/src/main/java/com/nextcloud/talk/polls/model/Poll.kt index 939186a61..c1a1e98a4 100644 --- a/app/src/main/java/com/nextcloud/talk/polls/model/Poll.kt +++ b/app/src/main/java/com/nextcloud/talk/polls/model/Poll.kt @@ -6,12 +6,14 @@ */ package com.nextcloud.talk.polls.model +import com.nextcloud.talk.models.json.participants.Participant + data class Poll( val id: String, val question: String?, val options: List?, val votes: Map?, - val actorType: String?, + val actorType: Participant.ActorType?, val actorId: String?, val actorDisplayName: String?, val status: Int, diff --git a/app/src/main/java/com/nextcloud/talk/polls/model/PollDetails.kt b/app/src/main/java/com/nextcloud/talk/polls/model/PollDetails.kt index 2e36d96b5..63d704bc1 100644 --- a/app/src/main/java/com/nextcloud/talk/polls/model/PollDetails.kt +++ b/app/src/main/java/com/nextcloud/talk/polls/model/PollDetails.kt @@ -6,8 +6,10 @@ */ package com.nextcloud.talk.polls.model +import com.nextcloud.talk.models.json.participants.Participant + data class PollDetails( - val actorType: String?, + val actorType: Participant.ActorType?, val actorId: String?, val actorDisplayName: String?, val optionId: Int diff --git a/app/src/main/java/com/nextcloud/talk/polls/repositories/model/PollDetailsResponse.kt b/app/src/main/java/com/nextcloud/talk/polls/repositories/model/PollDetailsResponse.kt index b052296f0..24e8fa5aa 100644 --- a/app/src/main/java/com/nextcloud/talk/polls/repositories/model/PollDetailsResponse.kt +++ b/app/src/main/java/com/nextcloud/talk/polls/repositories/model/PollDetailsResponse.kt @@ -9,13 +9,15 @@ package com.nextcloud.talk.polls.repositories.model import android.os.Parcelable import com.bluelinelabs.logansquare.annotation.JsonField import com.bluelinelabs.logansquare.annotation.JsonObject +import com.nextcloud.talk.models.json.converters.EnumActorTypeConverter +import com.nextcloud.talk.models.json.participants.Participant import kotlinx.parcelize.Parcelize @Parcelize @JsonObject data class PollDetailsResponse( - @JsonField(name = ["actorType"]) - var actorType: String? = null, + @JsonField(name = ["actorType"], typeConverter = EnumActorTypeConverter::class) + var actorType: Participant.ActorType? = null, @JsonField(name = ["actorId"]) var actorId: String, diff --git a/app/src/main/java/com/nextcloud/talk/polls/repositories/model/PollResponse.kt b/app/src/main/java/com/nextcloud/talk/polls/repositories/model/PollResponse.kt index 2531eb069..e406fbbd2 100644 --- a/app/src/main/java/com/nextcloud/talk/polls/repositories/model/PollResponse.kt +++ b/app/src/main/java/com/nextcloud/talk/polls/repositories/model/PollResponse.kt @@ -9,6 +9,8 @@ package com.nextcloud.talk.polls.repositories.model import android.os.Parcelable import com.bluelinelabs.logansquare.annotation.JsonField import com.bluelinelabs.logansquare.annotation.JsonObject +import com.nextcloud.talk.models.json.converters.EnumActorTypeConverter +import com.nextcloud.talk.models.json.participants.Participant import kotlinx.parcelize.Parcelize @Parcelize @@ -26,8 +28,8 @@ data class PollResponse( @JsonField(name = ["votes"]) var votes: Map? = null, - @JsonField(name = ["actorType"]) - var actorType: String? = null, + @JsonField(name = ["actorType"], typeConverter = EnumActorTypeConverter::class) + var actorType: Participant.ActorType? = null, @JsonField(name = ["actorId"]) var actorId: String? = null,