From 50e5c17ad42b2e56dc22b11deb4fd9fdba5e3462 Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Thu, 7 Mar 2024 15:41:04 +0100 Subject: [PATCH] WIP. migrate from logansquare to kotlinx This commit is breaking the build for now! There are added some TODOS that need to be resolved if migration is continued!!!! This migration was initiated because of federation: it seemed to be necessary that RoomLastMessage(json) must be able to be of type ChatMessage and RoomProxyMessage, which is problematic with logansquare. Because of this (and because logansquare is outdated anyway), migration to kotlinx was started. However it turned out that parsing to RoomProxyMessage is not necessary (for now?!). So for now, work is paused (and might not be continued as there might be a migration to OpenAPI instead in the future). Signed-off-by: Marcel Hibbe --- app/build.gradle | 2 + .../com/nextcloud/talk/chat/ChatActivity.kt | 2 +- .../filebrowser/models/BrowserFile.kt | 4 +- .../talk/dagger/modules/RestModule.kt | 8 +- .../nextcloud/talk/data/user/model/User.kt | 2 + .../talk/models/ExternalSignalingServer.kt | 10 +- .../nextcloud/talk/models/RingtoneSettings.kt | 14 +-- .../json/autocomplete/AutocompleteOCS.kt | 8 +- .../json/autocomplete/AutocompleteOverall.kt | 7 +- .../json/autocomplete/AutocompleteUser.kt | 9 +- .../models/json/capabilities/Capabilities.kt | 20 ++-- .../json/capabilities/CapabilitiesList.kt | 10 +- .../json/capabilities/CapabilitiesOCS.kt | 10 +- .../json/capabilities/CapabilitiesOverall.kt | 8 +- .../json/capabilities/CoreCapability.kt | 14 +-- .../capabilities/NotificationsCapability.kt | 8 +- .../capabilities/ProvisioningCapability.kt | 8 +- .../json/capabilities/RoomCapabilitiesOCS.kt | 8 +- .../capabilities/RoomCapabilitiesOverall.kt | 7 +- .../models/json/capabilities/ServerVersion.kt | 11 +- .../json/capabilities/SpreedCapability.kt | 12 +- .../json/capabilities/ThemingCapability.kt | 25 ++-- .../json/capabilities/UserStatusCapability.kt | 9 +- .../talk/models/json/chat/ChatMessage.kt | 52 ++++---- .../talk/models/json/chat/ChatOCS.kt | 10 +- .../models/json/chat/ChatOCSSingleMessage.kt | 10 +- .../talk/models/json/chat/ChatOverall.kt | 8 +- .../json/chat/ChatOverallSingleMessage.kt | 8 +- .../talk/models/json/chat/ChatShareOCS.kt | 8 +- .../talk/models/json/chat/ChatShareOverall.kt | 8 +- .../models/json/chat/ChatShareOverviewOCS.kt | 10 +- .../json/chat/ChatShareOverviewOverall.kt | 8 +- .../models/json/conversations/Conversation.kt | 91 +++++++------- .../talk/models/json/conversations/RoomOCS.kt | 8 +- .../models/json/conversations/RoomOverall.kt | 7 +- .../models/json/conversations/RoomsOCS.kt | 8 +- .../models/json/conversations/RoomsOverall.kt | 8 +- .../conversations/password/PasswordData.kt | 7 +- .../conversations/password/PasswordOCS.kt | 9 +- .../conversations/password/PasswordOverall.kt | 7 +- .../talk/models/json/generic/GenericMeta.kt | 14 ++- .../talk/models/json/generic/GenericOCS.kt | 8 +- .../models/json/generic/GenericOverall.kt | 8 +- .../talk/models/json/generic/Status.kt | 20 ++-- .../talk/models/json/hovercard/HoverCard.kt | 12 +- .../models/json/hovercard/HoverCardAction.kt | 14 +-- .../models/json/hovercard/HoverCardOCS.kt | 10 +- .../models/json/hovercard/HoverCardOverall.kt | 7 +- .../talk/models/json/invitation/Invitation.kt | 17 +-- .../models/json/invitation/InvitationOCS.kt | 8 +- .../json/invitation/InvitationOverall.kt | 7 +- .../talk/models/json/mention/Mention.kt | 18 +-- .../talk/models/json/mention/MentionOCS.kt | 10 +- .../models/json/mention/MentionOverall.kt | 7 +- .../models/json/notifications/Notification.kt | 26 ++-- .../json/notifications/NotificationAction.kt | 10 +- .../json/notifications/NotificationOCS.kt | 9 +- .../json/notifications/NotificationOverall.kt | 7 +- .../notifications/NotificationRichObject.kt | 10 +- .../json/notifications/NotificationsOCS.kt | 9 +- .../notifications/NotificationsOverall.kt | 7 +- .../models/json/opengraph/OpenGraphOCS.kt | 8 +- .../models/json/opengraph/OpenGraphObject.kt | 11 +- .../models/json/opengraph/OpenGraphOverall.kt | 7 +- .../json/opengraph/OpenGraphResponse.kt | 7 +- .../talk/models/json/opengraph/Reference.kt | 10 +- .../talk/models/json/opengraph/RichObject.kt | 11 +- .../json/participants/AddParticipantOCS.kt | 8 +- .../participants/AddParticipantOverall.kt | 7 +- .../models/json/participants/Participant.kt | 31 +---- .../json/participants/ParticipantsOCS.kt | 8 +- .../json/participants/ParticipantsOverall.kt | 7 +- .../models/json/push/DecryptedPushMessage.kt | 24 ++-- .../talk/models/json/push/NotificationUser.kt | 12 +- .../json/push/PushConfigurationState.kt | 16 +-- .../talk/models/json/push/PushRegistration.kt | 12 +- .../models/json/push/PushRegistrationOCS.kt | 10 +- .../json/push/PushRegistrationOverall.kt | 8 +- .../models/json/reactions/ReactionVoter.kt | 11 +- .../models/json/reactions/ReactionsOCS.kt | 8 +- .../models/json/reactions/ReactionsOverall.kt | 7 +- .../talk/models/json/reminder/Reminder.kt | 10 +- .../talk/models/json/reminder/ReminderOCS.kt | 8 +- .../models/json/reminder/ReminderOverall.kt | 7 +- .../models/json/search/ContactsByNumberOCS.kt | 9 +- .../json/search/ContactsByNumberOverall.kt | 8 +- .../talk/models/json/sharees/ExactSharees.kt | 8 +- .../talk/models/json/sharees/Sharee.kt | 12 +- .../talk/models/json/sharees/ShareesOCS.kt | 8 +- .../models/json/sharees/ShareesOverall.kt | 7 +- .../talk/models/json/sharees/SharesData.kt | 9 +- .../talk/models/json/sharees/Value.kt | 8 +- .../json/signaling/DataChannelMessage.kt | 14 +-- .../models/json/signaling/NCIceCandidate.kt | 9 +- .../models/json/signaling/NCMessagePayload.kt | 15 +-- .../json/signaling/NCSignalingMessage.kt | 13 +- .../talk/models/json/signaling/Signaling.kt | 12 +- .../models/json/signaling/SignalingOCS.kt | 9 +- .../models/json/signaling/SignalingOverall.kt | 7 +- .../json/signaling/settings/IceServer.kt | 10 +- .../signaling/settings/SignalingSettings.kt | 14 +-- .../settings/SignalingSettingsOcs.kt | 9 +- .../settings/SignalingSettingsOverall.kt | 7 +- .../talk/models/json/status/ClearAt.kt | 10 +- .../talk/models/json/status/Status.kt | 22 ++-- .../talk/models/json/status/StatusOCS.kt | 10 +- .../talk/models/json/status/StatusOverall.kt | 8 +- .../status/predefined/PredefinedStatus.kt | 14 +-- .../status/predefined/PredefinedStatusOCS.kt | 10 +- .../predefined/PredefinedStatusOverall.kt | 8 +- .../json/unifiedsearch/UnifiedSearchEntry.kt | 13 +- .../json/unifiedsearch/UnifiedSearchOCS.kt | 8 +- .../unifiedsearch/UnifiedSearchOverall.kt | 7 +- .../UnifiedSearchResponseData.kt | 10 +- .../json/userprofile/UserProfileData.kt | 29 ++--- .../json/userprofile/UserProfileFieldsOCS.kt | 8 +- .../userprofile/UserProfileFieldsOverall.kt | 7 +- .../models/json/userprofile/UserProfileOCS.kt | 8 +- .../json/userprofile/UserProfileOverall.kt | 7 +- .../json/websocket/ActorWebSocketMessage.kt | 10 +- .../AuthParametersWebSocketMessage.kt | 8 +- .../json/websocket/AuthWebSocketMessage.kt | 9 +- .../json/websocket/BaseWebSocketMessage.kt | 7 +- .../json/websocket/ByeWebSocketMessage.kt | 11 +- .../websocket/CallOverallWebSocketMessage.kt | 9 +- .../json/websocket/CallWebSocketMessage.kt | 12 +- .../websocket/ErrorOverallWebSocketMessage.kt | 9 +- .../json/websocket/ErrorWebSocketMessage.kt | 8 +- .../websocket/EventOverallWebSocketMessage.kt | 12 +- .../websocket/HelloOverallWebSocketMessage.kt | 9 +- .../HelloResponseOverallWebSocketMessage.kt | 9 +- .../HelloResponseWebSocketMessage.kt | 12 +- .../json/websocket/HelloWebSocketMessage.kt | 12 +- .../JoinedRoomOverallWebSocketMessage.kt | 9 +- .../websocket/RoomOverallWebSocketMessage.kt | 9 +- .../RoomPropertiesWebSocketMessage.kt | 9 +- .../json/websocket/RoomWebSocketMessage.kt | 12 +- ...erHelloResponseFeaturesWebSocketMessage.kt | 7 +- .../repositories/model/PollDetailsResponse.kt | 14 +-- .../talk/polls/repositories/model/PollOCS.kt | 8 +- .../polls/repositories/model/PollOverall.kt | 8 +- .../polls/repositories/model/PollResponse.kt | 32 ++--- .../translate/repositories/model/Language.kt | 10 +- .../repositories/model/LanguagesData.kt | 8 +- .../repositories/model/LanguagesOCS.kt | 8 +- .../repositories/model/LanguagesOverall.kt | 7 +- .../repositories/model/TranslateData.kt | 9 +- .../repositories/model/TranslateOCS.kt | 8 +- .../repositories/model/TranslationsOverall.kt | 7 +- .../nextcloud/talk/utils/NotificationUtils.kt | 23 ++-- .../talk/webrtc/PeerConnectionWrapper.java | 8 +- gradle/verification-metadata.xml | 113 ++++++++++++++++++ 152 files changed, 844 insertions(+), 938 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 98b3ade9b..377ac445d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -288,6 +288,8 @@ dependencies { implementation 'androidx.core:core-ktx:1.12.0' + implementation("com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:1.0.0") + testImplementation 'junit:junit:4.13.2' testImplementation 'org.mockito:mockito-core:5.10.0' androidTestImplementation 'org.mockito:mockito-android:5.10.0' diff --git a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt index ae9e06c6d..cab4d3647 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt @@ -4629,7 +4629,7 @@ class ChatActivity : when (recent.systemMessageType) { ChatMessage.SystemMessageType.CALL_STARTED -> { // add CallStartedMessage with id -2 if (!callStarted) { - val callStartedChatMessage = ChatMessage() + val callStartedChatMessage = ChatMessage(token = "0") callStartedChatMessage.jsonMessageId = CALL_STARTED_ID callStartedChatMessage.actorId = "-2" val name = if (recent.actorDisplayName.isNullOrEmpty()) "Guest" else recent.actorDisplayName diff --git a/app/src/main/java/com/nextcloud/talk/components/filebrowser/models/BrowserFile.kt b/app/src/main/java/com/nextcloud/talk/components/filebrowser/models/BrowserFile.kt index 789987df7..8919c4f81 100644 --- a/app/src/main/java/com/nextcloud/talk/components/filebrowser/models/BrowserFile.kt +++ b/app/src/main/java/com/nextcloud/talk/components/filebrowser/models/BrowserFile.kt @@ -29,7 +29,7 @@ import at.bitfire.dav4jvm.property.GetContentType import at.bitfire.dav4jvm.property.GetLastModified import at.bitfire.dav4jvm.property.ResourceType import at.bitfire.dav4jvm.property.ResourceType.Companion.COLLECTION -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.Serializable import com.nextcloud.talk.components.filebrowser.models.properties.NCEncrypted import com.nextcloud.talk.components.filebrowser.models.properties.NCPermission import com.nextcloud.talk.components.filebrowser.models.properties.NCPreview @@ -41,7 +41,7 @@ import kotlinx.parcelize.Parcelize import java.io.File @Parcelize -@JsonObject +@Serializable data class BrowserFile( var path: String? = null, var displayName: String? = null, diff --git a/app/src/main/java/com/nextcloud/talk/dagger/modules/RestModule.kt b/app/src/main/java/com/nextcloud/talk/dagger/modules/RestModule.kt index cb1760bc2..ce023c745 100644 --- a/app/src/main/java/com/nextcloud/talk/dagger/modules/RestModule.kt +++ b/app/src/main/java/com/nextcloud/talk/dagger/modules/RestModule.kt @@ -23,6 +23,7 @@ import android.content.Context import android.text.TextUtils import android.util.Log import com.github.aurae.retrofit2.LoganSquareConverterFactory +import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory import com.nextcloud.talk.BuildConfig import com.nextcloud.talk.R import com.nextcloud.talk.api.NcApi @@ -37,6 +38,7 @@ import com.nextcloud.talk.utils.ssl.TrustManager import dagger.Module import dagger.Provides import io.reactivex.schedulers.Schedulers +import kotlinx.serialization.json.Json import okhttp3.Authenticator import okhttp3.Cache import okhttp3.Credentials.basic @@ -44,6 +46,7 @@ import okhttp3.Dispatcher import okhttp3.Interceptor import okhttp3.Interceptor.Chain import okhttp3.JavaNetCookieJar +import okhttp3.MediaType.Companion.toMediaType import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.Response @@ -100,11 +103,14 @@ class RestModule(private val context: Context) { @Singleton @Provides fun provideRetrofit(httpClient: OkHttpClient?): Retrofit { + val contentType = "application/json".toMediaType() + val retrofitBuilder = Retrofit.Builder() .client(httpClient!!) .baseUrl("https://nextcloud.com") .addCallAdapterFactory(RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io())) - .addConverterFactory(LoganSquareConverterFactory.create()) + // .addConverterFactory(LoganSquareConverterFactory.create()) + .addConverterFactory(Json.asConverterFactory(contentType)); return retrofitBuilder.build() } diff --git a/app/src/main/java/com/nextcloud/talk/data/user/model/User.kt b/app/src/main/java/com/nextcloud/talk/data/user/model/User.kt index 4ce808e3e..d529923f1 100644 --- a/app/src/main/java/com/nextcloud/talk/data/user/model/User.kt +++ b/app/src/main/java/com/nextcloud/talk/data/user/model/User.kt @@ -26,9 +26,11 @@ import com.nextcloud.talk.models.json.capabilities.ServerVersion import com.nextcloud.talk.models.json.push.PushConfigurationState import com.nextcloud.talk.utils.ApiUtils import kotlinx.parcelize.Parcelize +import kotlinx.serialization.Serializable import java.lang.Boolean.FALSE @Parcelize +@Serializable data class User( var id: Long? = null, var userId: String? = null, diff --git a/app/src/main/java/com/nextcloud/talk/models/ExternalSignalingServer.kt b/app/src/main/java/com/nextcloud/talk/models/ExternalSignalingServer.kt index d4caf8a6d..4dc95b8fd 100644 --- a/app/src/main/java/com/nextcloud/talk/models/ExternalSignalingServer.kt +++ b/app/src/main/java/com/nextcloud/talk/models/ExternalSignalingServer.kt @@ -22,16 +22,16 @@ package com.nextcloud.talk.models import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ExternalSignalingServer( - @JsonField(name = ["externalSignalingServer"]) + @SerialName("externalSignalingServer") var externalSignalingServer: String? = null, - @JsonField(name = ["externalSignalingTicket"]) + @SerialName("externalSignalingTicket") var externalSignalingTicket: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/RingtoneSettings.kt b/app/src/main/java/com/nextcloud/talk/models/RingtoneSettings.kt index 004a48501..933cf4466 100644 --- a/app/src/main/java/com/nextcloud/talk/models/RingtoneSettings.kt +++ b/app/src/main/java/com/nextcloud/talk/models/RingtoneSettings.kt @@ -23,19 +23,19 @@ package com.nextcloud.talk.models import android.net.Uri import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.converters.UriTypeConverter import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class RingtoneSettings( - @JsonField(name = ["ringtoneUri"], typeConverter = UriTypeConverter::class) - var ringtoneUri: Uri? = null, - @JsonField(name = ["ringtoneName"]) + @SerialName("ringtoneUri", typeConverter = UriTypeConverter::class) + // var ringtoneUri: Uri? = null, + @SerialName("ringtoneName") var ringtoneName: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' - constructor() : this(null, null) + constructor() : this(null) } diff --git a/app/src/main/java/com/nextcloud/talk/models/json/autocomplete/AutocompleteOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/autocomplete/AutocompleteOCS.kt index 9473b31bc..1d4e5b8a1 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/autocomplete/AutocompleteOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/autocomplete/AutocompleteOCS.kt @@ -24,17 +24,15 @@ package com.nextcloud.talk.models.json.autocomplete import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class AutocompleteOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta?, - @JsonField(name = ["data"]) var data: List? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/autocomplete/AutocompleteOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/autocomplete/AutocompleteOverall.kt index 4976a219d..3bed4cb28 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/autocomplete/AutocompleteOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/autocomplete/AutocompleteOverall.kt @@ -22,14 +22,13 @@ package com.nextcloud.talk.models.json.autocomplete import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class AutocompleteOverall( - @JsonField(name = ["ocs"]) var ocs: AutocompleteOCS? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/autocomplete/AutocompleteUser.kt b/app/src/main/java/com/nextcloud/talk/models/json/autocomplete/AutocompleteUser.kt index 6e66c9d7b..f796fe35b 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/autocomplete/AutocompleteUser.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/autocomplete/AutocompleteUser.kt @@ -22,18 +22,15 @@ package com.nextcloud.talk.models.json.autocomplete import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class AutocompleteUser( - @JsonField(name = ["id"]) var id: String?, - @JsonField(name = ["label"]) var label: String?, - @JsonField(name = ["source"]) var source: String? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/Capabilities.kt b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/Capabilities.kt index 23026a8ad..be6bc461e 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/Capabilities.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/Capabilities.kt @@ -24,26 +24,26 @@ package com.nextcloud.talk.models.json.capabilities import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class Capabilities( - @JsonField(name = ["core"]) + @SerialName("core") var coreCapability: CoreCapability?, - @JsonField(name = ["spreed"]) + @SerialName("spreed") var spreedCapability: SpreedCapability?, - @JsonField(name = ["notifications"]) + @SerialName("notifications") var notificationsCapability: NotificationsCapability?, - @JsonField(name = ["theming"]) + @SerialName("theming") var themingCapability: ThemingCapability?, - @JsonField(name = ["external"]) + @SerialName("external") var externalCapability: HashMap>?, - @JsonField(name = ["provisioning_api"]) + @SerialName("provisioning_api") var provisioningCapability: ProvisioningCapability?, - @JsonField(name = ["user_status"]) + @SerialName("user_status") var userStatusCapability: UserStatusCapability? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/CapabilitiesList.kt b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/CapabilitiesList.kt index 1b0560afa..38a7a01b0 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/CapabilitiesList.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/CapabilitiesList.kt @@ -22,16 +22,16 @@ package com.nextcloud.talk.models.json.capabilities import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class CapabilitiesList( - @JsonField(name = ["version"]) + @SerialName("version") var serverVersion: ServerVersion?, - @JsonField(name = ["capabilities"]) + @SerialName("capabilities") var capabilities: Capabilities? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/CapabilitiesOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/CapabilitiesOCS.kt index fffe8a9af..82fc430a0 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/CapabilitiesOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/CapabilitiesOCS.kt @@ -24,17 +24,17 @@ package com.nextcloud.talk.models.json.capabilities import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class CapabilitiesOCS( - @JsonField(name = ["meta"]) + @SerialName("meta") var meta: GenericMeta?, - @JsonField(name = ["data"]) + @SerialName("data") var data: CapabilitiesList? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/CapabilitiesOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/CapabilitiesOverall.kt index 636846e70..764b3e477 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/CapabilitiesOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/CapabilitiesOverall.kt @@ -22,14 +22,14 @@ package com.nextcloud.talk.models.json.capabilities import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class CapabilitiesOverall( - @JsonField(name = ["ocs"]) + @SerialName("ocs") var ocs: CapabilitiesOCS? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/CoreCapability.kt b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/CoreCapability.kt index 09a1ad7a5..92e3e1869 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/CoreCapability.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/CoreCapability.kt @@ -20,22 +20,20 @@ package com.nextcloud.talk.models.json.capabilities import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject -import kotlinx.parcelize.Parcelize +import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable +import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject @Serializable data class CoreCapability( - @JsonField(name = ["pollinterval"]) + @SerialName("pollinterval") var pollInterval: Int?, - @JsonField(name = ["webdav-root"]) + @SerialName("webdav-root") var webdavRoot: String?, - @JsonField(name = ["reference-api"]) + @SerialName("reference-api") var referenceApi: String?, - @JsonField(name = ["reference-regex"]) + @SerialName("reference-regex") var referenceRegex: String? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/NotificationsCapability.kt b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/NotificationsCapability.kt index e32fe0bd7..c57c889bf 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/NotificationsCapability.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/NotificationsCapability.kt @@ -22,16 +22,14 @@ package com.nextcloud.talk.models.json.capabilities import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject -import kotlinx.parcelize.Parcelize +import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable +import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject @Serializable data class NotificationsCapability( - @JsonField(name = ["ocs-endpoints"]) + @SerialName("ocs-endpoints") var features: List? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/ProvisioningCapability.kt b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/ProvisioningCapability.kt index 637ad7384..baeb47bae 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/ProvisioningCapability.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/ProvisioningCapability.kt @@ -22,16 +22,14 @@ package com.nextcloud.talk.models.json.capabilities import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject -import kotlinx.parcelize.Parcelize +import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable +import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject @Serializable data class ProvisioningCapability( - @JsonField(name = ["AccountPropertyScopesVersion"]) + @SerialName("AccountPropertyScopesVersion") var accountPropertyScopesVersion: Int? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/RoomCapabilitiesOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/RoomCapabilitiesOCS.kt index 193dff529..11114e6dc 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/RoomCapabilitiesOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/RoomCapabilitiesOCS.kt @@ -24,17 +24,15 @@ package com.nextcloud.talk.models.json.capabilities import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class RoomCapabilitiesOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta?, - @JsonField(name = ["data"]) var data: SpreedCapability? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/RoomCapabilitiesOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/RoomCapabilitiesOverall.kt index aa7234929..5b59ccce6 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/RoomCapabilitiesOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/RoomCapabilitiesOverall.kt @@ -22,14 +22,13 @@ package com.nextcloud.talk.models.json.capabilities import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class RoomCapabilitiesOverall( - @JsonField(name = ["ocs"]) var ocs: RoomCapabilitiesOCS? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/ServerVersion.kt b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/ServerVersion.kt index 0685e0690..f77113aa8 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/ServerVersion.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/ServerVersion.kt @@ -20,20 +20,17 @@ package com.nextcloud.talk.models.json.capabilities import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ServerVersion( - @JsonField(name = ["major"]) var major: Int = 0, - @JsonField(name = ["minor"]) var minor: Int = 0, - @JsonField(name = ["micro"]) var micro: Int = 0, - @JsonField(name = ["string"]) + @SerialName("string") var versionString: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/SpreedCapability.kt b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/SpreedCapability.kt index 9fa43fcbb..d8ece3952 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/SpreedCapability.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/SpreedCapability.kt @@ -22,21 +22,19 @@ package com.nextcloud.talk.models.json.capabilities import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize import kotlinx.parcelize.RawValue import kotlinx.serialization.Contextual -import kotlinx.serialization.Serializable @Parcelize -@JsonObject @Serializable data class SpreedCapability( - @JsonField(name = ["features"]) + @SerialName("features") var features: List?, - @JsonField(name = ["config"]) + @SerialName("config") var config: HashMap< String, HashMap< @@ -46,7 +44,7 @@ data class SpreedCapability( Any > >?, - @JsonField(name = ["version"]) + @SerialName("version") var version: String ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/ThemingCapability.kt b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/ThemingCapability.kt index 35d78dd24..9549e6ebb 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/ThemingCapability.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/ThemingCapability.kt @@ -22,38 +22,31 @@ package com.nextcloud.talk.models.json.capabilities import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject -import kotlinx.parcelize.Parcelize +import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable +import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject @Serializable data class ThemingCapability( - @JsonField(name = ["name"]) var name: String?, - @JsonField(name = ["url"]) var url: String?, - @JsonField(name = ["slogan"]) var slogan: String?, - @JsonField(name = ["color"]) var color: String?, - @JsonField(name = ["color-text"]) + @SerialName("color-text") var colorText: String?, - @JsonField(name = ["color-element"]) + @SerialName("color-element") var colorElement: String?, - @JsonField(name = ["color-element-bright"]) + @SerialName("color-element-bright") var colorElementBright: String?, - @JsonField(name = ["color-element-dark"]) + @SerialName("color-element-dark") var colorElementDark: String?, - @JsonField(name = ["logo"]) var logo: String?, - @JsonField(name = ["background"]) + @SerialName("background") var background: String?, - @JsonField(name = ["background-plain"]) + @SerialName("background-plain") var backgroundPlain: Boolean?, - @JsonField(name = ["background-default"]) + @SerialName("background-default") var backgroundDefault: Boolean? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/UserStatusCapability.kt b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/UserStatusCapability.kt index 47f100bf3..b46a9ee21 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/capabilities/UserStatusCapability.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/capabilities/UserStatusCapability.kt @@ -22,18 +22,15 @@ package com.nextcloud.talk.models.json.capabilities import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject -import kotlinx.parcelize.Parcelize +import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable +import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject @Serializable data class UserStatusCapability( - @JsonField(name = ["enabled"]) var enabled: Boolean, - @JsonField(name = ["supports_emoji"]) + @SerialName("supports_emoji") var supportsEmoji: Boolean ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' 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 dc285504c..a0f303db3 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 @@ -28,24 +28,26 @@ package com.nextcloud.talk.models.json.chat import android.os.Parcelable import android.text.TextUtils import android.util.Log -import com.bluelinelabs.logansquare.annotation.JsonField +import kotlinx.serialization.SerialName import com.bluelinelabs.logansquare.annotation.JsonIgnore -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.Serializable import com.nextcloud.talk.R import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedApplication import com.nextcloud.talk.data.user.model.User import com.nextcloud.talk.models.json.chat.ChatUtils.Companion.getParsedMessage import com.nextcloud.talk.models.json.converters.EnumSystemMessageTypeConverter +import com.nextcloud.talk.models.json.converters.KotlinxJodaTimeConverter import com.nextcloud.talk.utils.ApiUtils import com.nextcloud.talk.utils.CapabilitiesUtil import com.stfalcon.chatkit.commons.models.IUser import com.stfalcon.chatkit.commons.models.MessageContentType import kotlinx.parcelize.Parcelize +import kotlinx.serialization.Transient import java.security.MessageDigest import java.util.Date @Parcelize -@JsonObject +@Serializable data class ChatMessage( @JsonIgnore var isGrouped: Boolean = false, @@ -65,72 +67,74 @@ data class ChatMessage( @JsonIgnore var isDeleted: Boolean = false, - @JsonField(name = ["id"]) + @SerialName("id") var jsonMessageId: Int = 0, @JsonIgnore var previousMessageId: Int = -1, - @JsonField(name = ["token"]) - var token: String? = null, + @SerialName("token") + var token: String = "", // guests or users - @JsonField(name = ["actorType"]) + @SerialName("actorType") var actorType: String? = null, - @JsonField(name = ["actorId"]) + @SerialName("actorId") var actorId: String? = null, // send when crafting a message - @JsonField(name = ["actorDisplayName"]) + @SerialName("actorDisplayName") var actorDisplayName: String? = null, - @JsonField(name = ["timestamp"]) + @SerialName("timestamp") var timestamp: Long = 0, // send when crafting a message, max 1000 lines - @JsonField(name = ["message"]) + @SerialName("message") var message: String? = null, - @JsonField(name = ["messageParameters"]) + @SerialName("messageParameters") var messageParameters: HashMap>? = null, - @JsonField(name = ["systemMessage"], typeConverter = EnumSystemMessageTypeConverter::class) + @SerialName("systemMessage") + // @Serializable(with = EnumSystemMessageTypeConverter::class) var systemMessageType: SystemMessageType? = null, - @JsonField(name = ["isReplyable"]) + @SerialName("isReplyable") var replyable: Boolean = false, - @JsonField(name = ["parent"]) + @SerialName("parent") var parentMessage: ChatMessage? = null, + @Transient var readStatus: Enum = ReadStatus.NONE, - @JsonField(name = ["messageType"]) + @SerialName("messageType") var messageType: String? = null, - @JsonField(name = ["reactions"]) + @SerialName("reactions") var reactions: LinkedHashMap? = null, - @JsonField(name = ["reactionsSelf"]) + @SerialName("reactionsSelf") var reactionsSelf: ArrayList? = null, - @JsonField(name = ["expirationTimestamp"]) + @SerialName("expirationTimestamp") var expirationTimestamp: Int = 0, - @JsonField(name = ["markdown"]) + @SerialName("markdown") var renderMarkdown: Boolean? = null, - @JsonField(name = ["lastEditActorDisplayName"]) + @SerialName("lastEditActorDisplayName") var lastEditActorDisplayName: String? = null, - @JsonField(name = ["lastEditActorId"]) + @SerialName("lastEditActorId") var lastEditActorId: String? = null, - @JsonField(name = ["lastEditActorType"]) + @SerialName("lastEditActorType") var lastEditActorType: String? = null, - @JsonField(name = ["lastEditTimestamp"]) + @SerialName("lastEditTimestamp") var lastEditTimestamp: Long = 0, var isDownloadingVoiceMessage: Boolean = false, diff --git a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOCS.kt index 5cb67f1a7..6823a2f3a 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOCS.kt @@ -22,17 +22,17 @@ package com.nextcloud.talk.models.json.chat import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ChatOCS( - @JsonField(name = ["meta"]) + @SerialName("meta") var meta: GenericMeta?, - @JsonField(name = ["data"]) + @SerialName("data") var data: List? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOCSSingleMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOCSSingleMessage.kt index eb12998ae..f0c37da10 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOCSSingleMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOCSSingleMessage.kt @@ -22,17 +22,17 @@ package com.nextcloud.talk.models.json.chat import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ChatOCSSingleMessage( - @JsonField(name = ["meta"]) + @SerialName("meta") var meta: GenericMeta?, - @JsonField(name = ["data"]) + @SerialName("data") var data: ChatMessage? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOverall.kt index 9378f1c5f..eb3c94dd5 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOverall.kt @@ -22,14 +22,14 @@ package com.nextcloud.talk.models.json.chat import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ChatOverall( - @JsonField(name = ["ocs"]) + @SerialName("ocs") var ocs: ChatOCS? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOverallSingleMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOverallSingleMessage.kt index f0aca47b9..6ec53eb98 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOverallSingleMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatOverallSingleMessage.kt @@ -22,14 +22,14 @@ package com.nextcloud.talk.models.json.chat import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ChatOverallSingleMessage( - @JsonField(name = ["ocs"]) + @SerialName("ocs") var ocs: ChatOCSSingleMessage? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatShareOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatShareOCS.kt index 417426d27..fc316b89f 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatShareOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatShareOCS.kt @@ -22,15 +22,15 @@ package com.nextcloud.talk.models.json.chat import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import java.util.HashMap import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ChatShareOCS( - @JsonField(name = ["data"]) + @SerialName("data") var data: HashMap? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatShareOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatShareOverall.kt index 2e0612ced..d17d53e8a 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatShareOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatShareOverall.kt @@ -22,14 +22,14 @@ package com.nextcloud.talk.models.json.chat import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ChatShareOverall( - @JsonField(name = ["ocs"]) + @SerialName("ocs") var ocs: ChatShareOCS? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatShareOverviewOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatShareOverviewOCS.kt index cdae47620..77daf5c82 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatShareOverviewOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatShareOverviewOCS.kt @@ -22,19 +22,19 @@ package com.nextcloud.talk.models.json.chat import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.AnyParceler import kotlinx.parcelize.Parcelize import kotlinx.parcelize.TypeParceler import java.util.HashMap @Parcelize -@JsonObject +@Serializable @TypeParceler data class ChatShareOverviewOCS( - @JsonField(name = ["data"]) - var data: HashMap>? = null + @SerialName("data") + var data: HashMap>? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' constructor() : this(null) diff --git a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatShareOverviewOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatShareOverviewOverall.kt index 93da5ed48..e41b61866 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatShareOverviewOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/chat/ChatShareOverviewOverall.kt @@ -22,14 +22,14 @@ package com.nextcloud.talk.models.json.chat import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ChatShareOverviewOverall( - @JsonField(name = ["ocs"]) + @SerialName("ocs") var ocs: ChatShareOverviewOCS? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' 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 97ec35660..0eebfd7fd 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 @@ -26,8 +26,8 @@ package com.nextcloud.talk.models.json.conversations import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.data.user.model.User import com.nextcloud.talk.models.domain.ConversationModel import com.nextcloud.talk.models.json.chat.ChatMessage @@ -44,129 +44,126 @@ import com.nextcloud.talk.utils.CapabilitiesUtil import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class Conversation( - @JsonField(name = ["id"]) + @SerialName("id") var roomId: String? = null, - @JsonField(name = ["token"]) + @SerialName("token") var token: String? = null, - @JsonField(name = ["name"]) + @SerialName("name") var name: String? = null, - @JsonField(name = ["displayName"]) + @SerialName("displayName") var displayName: String? = null, - @JsonField(name = ["description"]) + @SerialName("description") var description: String? = null, - @JsonField(name = ["type"], typeConverter = EnumRoomTypeConverter::class) + @SerialName("type", typeConverter = EnumRoomTypeConverter::class) var type: ConversationType? = null, - @JsonField(name = ["lastPing"]) + @SerialName("lastPing") var lastPing: Long = 0, - @JsonField(name = ["participantType"], typeConverter = EnumParticipantTypeConverter::class) + @SerialName("participantType", typeConverter = EnumParticipantTypeConverter::class) var participantType: ParticipantType? = null, - @JsonField(name = ["hasPassword"]) + @SerialName("hasPassword") var hasPassword: Boolean = false, - @JsonField(name = ["sessionId"]) + @SerialName("sessionId") var sessionId: String? = null, - @JsonField(name = ["actorId"]) + @SerialName("actorId") var actorId: String? = null, - @JsonField(name = ["actorType"]) + @SerialName("actorType") var actorType: String? = null, var password: String? = null, - @JsonField(name = ["isFavorite"]) + @SerialName("isFavorite") var favorite: Boolean = false, - @JsonField(name = ["lastActivity"]) + @SerialName("lastActivity") var lastActivity: Long = 0, - @JsonField(name = ["unreadMessages"]) + @SerialName("unreadMessages") var unreadMessages: Int = 0, - @JsonField(name = ["unreadMention"]) + @SerialName("unreadMention") var unreadMention: Boolean = false, - @JsonField(name = ["lastMessage"]) + @SerialName("lastMessage") var lastMessage: ChatMessage? = null, - @JsonField(name = ["objectType"], typeConverter = ConversationObjectTypeConverter::class) + @SerialName("objectType", typeConverter = ConversationObjectTypeConverter::class) var objectType: ObjectType? = null, - @JsonField(name = ["notificationLevel"], typeConverter = EnumNotificationLevelConverter::class) + @SerialName("notificationLevel", typeConverter = EnumNotificationLevelConverter::class) var notificationLevel: NotificationLevel? = null, - @JsonField(name = ["readOnly"], typeConverter = EnumReadOnlyConversationConverter::class) + @SerialName("readOnly", typeConverter = EnumReadOnlyConversationConverter::class) var conversationReadOnlyState: ConversationReadOnlyState? = null, - @JsonField(name = ["lobbyState"], typeConverter = EnumLobbyStateConverter::class) + @SerialName("lobbyState", typeConverter = EnumLobbyStateConverter::class) var lobbyState: LobbyState? = null, - @JsonField(name = ["lobbyTimer"]) + @SerialName("lobbyTimer") var lobbyTimer: Long? = null, - @JsonField(name = ["lastReadMessage"]) + @SerialName("lastReadMessage") var lastReadMessage: Int = 0, - @JsonField(name = ["hasCall"]) + @SerialName("hasCall") var hasCall: Boolean = false, - @JsonField(name = ["callFlag"]) + @SerialName("callFlag") var callFlag: Int = 0, - @JsonField(name = ["canStartCall"]) + @SerialName("canStartCall") var canStartCall: Boolean = false, - @JsonField(name = ["canLeaveConversation"]) + @SerialName("canLeaveConversation") var canLeaveConversation: Boolean? = null, - @JsonField(name = ["canDeleteConversation"]) + @SerialName("canDeleteConversation") var canDeleteConversation: Boolean? = null, - @JsonField(name = ["unreadMentionDirect"]) + @SerialName("unreadMentionDirect") var unreadMentionDirect: Boolean? = null, - @JsonField(name = ["notificationCalls"]) + @SerialName("notificationCalls") var notificationCalls: Int? = null, - @JsonField(name = ["permissions"]) + @SerialName("permissions") var permissions: Int = 0, - @JsonField(name = ["messageExpiration"]) + @SerialName("messageExpiration") var messageExpiration: Int = 0, - @JsonField(name = ["status"]) + @SerialName("status") var status: String? = null, - @JsonField(name = ["statusIcon"]) + @SerialName("statusIcon") var statusIcon: String? = null, - @JsonField(name = ["statusMessage"]) + @SerialName("statusMessage") var statusMessage: String? = null, - @JsonField(name = ["statusClearAt"]) + @SerialName("statusClearAt") var statusClearAt: Long? = 0, - @JsonField(name = ["callRecording"]) + @SerialName("callRecording") var callRecording: Int = 0, - @JsonField(name = ["avatarVersion"]) + @SerialName("avatarVersion") var avatarVersion: String? = null, // Be aware that variables with "is" at the beginning will lead to the error: - // "@JsonField annotation can only be used on private fields if both getter and setter are present." + // "//@JsonField annotation can only be used on private fields if both getter and setter are present." // Instead, name it with "has" at the beginning: isCustomAvatar -> hasCustomAvatar - @JsonField(name = ["isCustomAvatar"]) + @SerialName("isCustomAvatar") var hasCustomAvatar: Boolean? = null, - @JsonField(name = ["callStartTime"]) var callStartTime: Long? = null, - @JsonField(name = ["recordingConsent"]) + @SerialName("recordingConsent") var recordingConsentRequired: Int = 0, - @JsonField(name = ["remoteServer"]) var remoteServer: String? = null, - @JsonField(name = ["remoteToken"]) var remoteToken: String? = null ) : Parcelable { diff --git a/app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomOCS.kt index 6a7eb5aaa..abe292ebb 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomOCS.kt @@ -22,17 +22,15 @@ package com.nextcloud.talk.models.json.conversations import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class RoomOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta?, - @JsonField(name = ["data"]) var data: Conversation? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomOverall.kt index ef5574c84..3d0cbf257 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomOverall.kt @@ -22,14 +22,13 @@ package com.nextcloud.talk.models.json.conversations import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class RoomOverall( - @JsonField(name = ["ocs"]) var ocs: RoomOCS? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomsOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomsOCS.kt index 8672b99bd..f35abf9c5 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomsOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomsOCS.kt @@ -22,17 +22,15 @@ package com.nextcloud.talk.models.json.conversations import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class RoomsOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta?, - @JsonField(name = ["data"]) var data: List? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomsOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomsOverall.kt index 83c6de9b4..ebe104d4a 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomsOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/conversations/RoomsOverall.kt @@ -22,14 +22,14 @@ package com.nextcloud.talk.models.json.conversations import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class RoomsOverall( - @JsonField(name = ["ocs"]) + @SerialName("ocs") var ocs: RoomsOCS? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/conversations/password/PasswordData.kt b/app/src/main/java/com/nextcloud/talk/models/json/conversations/password/PasswordData.kt index b11fb201d..993c113d9 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/conversations/password/PasswordData.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/conversations/password/PasswordData.kt @@ -21,14 +21,13 @@ package com.nextcloud.talk.models.json.conversations.password import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize -@JsonObject +@Serializable @Parcelize data class PasswordData( - @JsonField(name = ["message"]) var message: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/conversations/password/PasswordOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/conversations/password/PasswordOCS.kt index d2c68ae15..d7e22bd0b 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/conversations/password/PasswordOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/conversations/password/PasswordOCS.kt @@ -21,18 +21,15 @@ package com.nextcloud.talk.models.json.conversations.password import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class PasswordOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta? = null, - - @JsonField(name = ["data"]) var data: PasswordData? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/conversations/password/PasswordOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/conversations/password/PasswordOverall.kt index e91e259ab..942846709 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/conversations/password/PasswordOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/conversations/password/PasswordOverall.kt @@ -21,14 +21,13 @@ package com.nextcloud.talk.models.json.conversations.password import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class PasswordOverall( - @JsonField(name = ["ocs"]) var ocs: PasswordOCS? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/generic/GenericMeta.kt b/app/src/main/java/com/nextcloud/talk/models/json/generic/GenericMeta.kt index 4d145d6bf..b2fd344d6 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/generic/GenericMeta.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/generic/GenericMeta.kt @@ -22,18 +22,20 @@ package com.nextcloud.talk.models.json.generic import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize +import kotlinx.serialization.SerialName @Parcelize -@JsonObject(serializeNullObjects = true) +// @Serializable(serializeNullObjects = true) +@Serializable data class GenericMeta( - @JsonField(name = ["status"]) + @SerialName("status") var status: String? = null, - @JsonField(name = ["statuscode"]) + @SerialName("statuscode") var statusCode: Int = 0, - @JsonField(name = ["message"]) + @SerialName("message") var message: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/generic/GenericOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/generic/GenericOCS.kt index b3cc3361a..c9fefbcda 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/generic/GenericOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/generic/GenericOCS.kt @@ -22,14 +22,14 @@ package com.nextcloud.talk.models.json.generic import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class GenericOCS( - @JsonField(name = ["meta"]) + @SerialName("meta") var meta: GenericMeta? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/generic/GenericOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/generic/GenericOverall.kt index 2cfaeaa75..94e5c7213 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/generic/GenericOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/generic/GenericOverall.kt @@ -22,14 +22,14 @@ package com.nextcloud.talk.models.json.generic import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class GenericOverall( - @JsonField(name = ["ocs"]) + @SerialName("ocs") var ocs: GenericOCS? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/generic/Status.kt b/app/src/main/java/com/nextcloud/talk/models/json/generic/Status.kt index 0e2e46402..ab2d08c6d 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/generic/Status.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/generic/Status.kt @@ -22,32 +22,32 @@ package com.nextcloud.talk.models.json.generic import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class Status( - @JsonField(name = ["installed"]) + @SerialName("installed") var installed: Boolean = false, - @JsonField(name = ["maintenance"]) + @SerialName("maintenance") var maintenance: Boolean = false, - @JsonField(name = ["upgrade"]) + @SerialName("upgrade") var needsUpgrade: Boolean = false, - @JsonField(name = ["version"]) + @SerialName("version") var version: String? = null, - @JsonField(name = ["versionstring"]) + @SerialName("versionstring") var versionString: String? = null, - @JsonField(name = ["edition"]) + @SerialName("edition") var edition: String? = null, - @JsonField(name = ["productname"]) + @SerialName("productname") var productName: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/hovercard/HoverCard.kt b/app/src/main/java/com/nextcloud/talk/models/json/hovercard/HoverCard.kt index a90603849..b9815e478 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/hovercard/HoverCard.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/hovercard/HoverCard.kt @@ -20,18 +20,18 @@ package com.nextcloud.talk.models.json.hovercard import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class HoverCard( - @JsonField(name = ["userId"]) + @SerialName("userId") var userId: String?, - @JsonField(name = ["displayName"]) + @SerialName("displayName") var displayName: String?, - @JsonField(name = ["actions"]) + @SerialName("actions") var actions: List? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/hovercard/HoverCardAction.kt b/app/src/main/java/com/nextcloud/talk/models/json/hovercard/HoverCardAction.kt index 9d4b60fdc..696a45063 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/hovercard/HoverCardAction.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/hovercard/HoverCardAction.kt @@ -20,20 +20,20 @@ package com.nextcloud.talk.models.json.hovercard import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class HoverCardAction( - @JsonField(name = ["title"]) + @SerialName("title") var title: String?, - @JsonField(name = ["icon"]) + @SerialName("icon") var icon: String?, - @JsonField(name = ["hyperlink"]) + @SerialName("hyperlink") var hyperlink: String?, - @JsonField(name = ["appId"]) + @SerialName("appId") var appId: String? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/hovercard/HoverCardOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/hovercard/HoverCardOCS.kt index 19083c657..09d7dfd44 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/hovercard/HoverCardOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/hovercard/HoverCardOCS.kt @@ -23,17 +23,17 @@ package com.nextcloud.talk.models.json.hovercard import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class HoverCardOCS( - @JsonField(name = ["meta"]) + @SerialName("meta") var meta: GenericMeta?, - @JsonField(name = ["data"]) + @SerialName("data") var data: HoverCard? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/hovercard/HoverCardOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/hovercard/HoverCardOverall.kt index 3e073d2fd..5fcbe7d30 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/hovercard/HoverCardOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/hovercard/HoverCardOverall.kt @@ -19,12 +19,11 @@ */ package com.nextcloud.talk.models.json.hovercard -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable -@JsonObject +@Serializable data class HoverCardOverall( - @JsonField(name = ["ocs"]) var ocs: HoverCardOCS? ) { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/invitation/Invitation.kt b/app/src/main/java/com/nextcloud/talk/models/json/invitation/Invitation.kt index 56fbc2373..60ac130bd 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/invitation/Invitation.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/invitation/Invitation.kt @@ -20,34 +20,23 @@ package com.nextcloud.talk.models.json.invitation import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class Invitation( - @JsonField(name = ["id"]) var id: Int = 0, - @JsonField(name = ["userId"]) var userId: String? = null, - @JsonField(name = ["state"]) var state: Int = 0, - @JsonField(name = ["localRoomId"]) var localRoomId: Int = 0, - @JsonField(name = ["accessToken"]) var accessToken: String? = null, - @JsonField(name = ["remoteServerUrl"]) var remoteServerUrl: String? = null, - @JsonField(name = ["remoteToken"]) var remoteToken: String? = null, - @JsonField(name = ["remoteAttendeeId"]) var remoteAttendeeId: Int = 0, - @JsonField(name = ["inviterCloudId"]) var inviterCloudId: String? = null, - @JsonField(name = ["inviterDisplayName"]) var inviterDisplayName: String? = null, - @JsonField(name = ["roomName"]) var roomName: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/invitation/InvitationOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/invitation/InvitationOCS.kt index 1bc86ea02..33aa31cf7 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/invitation/InvitationOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/invitation/InvitationOCS.kt @@ -20,17 +20,15 @@ package com.nextcloud.talk.models.json.invitation import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class InvitationOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta?, - @JsonField(name = ["data"]) var data: List? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/invitation/InvitationOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/invitation/InvitationOverall.kt index 9c133c064..ee13cdac9 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/invitation/InvitationOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/invitation/InvitationOverall.kt @@ -20,14 +20,13 @@ package com.nextcloud.talk.models.json.invitation import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class InvitationOverall( - @JsonField(name = ["ocs"]) var ocs: InvitationOCS? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/mention/Mention.kt b/app/src/main/java/com/nextcloud/talk/models/json/mention/Mention.kt index 740c72fe9..fb2a6ad76 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/mention/Mention.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/mention/Mention.kt @@ -22,25 +22,25 @@ package com.nextcloud.talk.models.json.mention import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class Mention( - @JsonField(name = ["id"]) + @SerialName("id") var id: String?, - @JsonField(name = ["label"]) + @SerialName("label") var label: String?, // type of user (guests or users or calls) - @JsonField(name = ["source"]) + @SerialName("source") var source: String?, - @JsonField(name = ["status"]) + @SerialName("status") var status: String?, - @JsonField(name = ["statusIcon"]) + @SerialName("statusIcon") var statusIcon: String?, - @JsonField(name = ["statusMessage"]) + @SerialName("statusMessage") var statusMessage: String? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/mention/MentionOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/mention/MentionOCS.kt index 5851cdee3..f6740b391 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/mention/MentionOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/mention/MentionOCS.kt @@ -24,17 +24,17 @@ package com.nextcloud.talk.models.json.mention import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class MentionOCS( - @JsonField(name = ["meta"]) + @SerialName("meta") var meta: GenericMeta?, - @JsonField(name = ["data"]) + @SerialName("data") var data: List? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/mention/MentionOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/mention/MentionOverall.kt index a3d39d1c5..c8e5ce3e6 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/mention/MentionOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/mention/MentionOverall.kt @@ -22,14 +22,13 @@ package com.nextcloud.talk.models.json.mention import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class MentionOverall( - @JsonField(name = ["ocs"]) var ocs: MentionOCS? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/notifications/Notification.kt b/app/src/main/java/com/nextcloud/talk/models/json/notifications/Notification.kt index 86b6cf27c..f10b3c8a4 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/notifications/Notification.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/notifications/Notification.kt @@ -22,44 +22,34 @@ package com.nextcloud.talk.models.json.notifications import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import com.nextcloud.talk.models.json.converters.KotlinxJodaTimeConverter +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.converters.LoganSquareJodaTimeConverter import kotlinx.parcelize.Parcelize import org.joda.time.DateTime @Parcelize -@JsonObject +@Serializable data class Notification( - @JsonField(name = ["icon"]) var icon: String?, - @JsonField(name = ["notification_id"]) + @SerialName("notification_id") var notificationId: Int?, - @JsonField(name = ["app"]) var app: String?, - @JsonField(name = ["user"]) var user: String?, - @JsonField(name = ["datetime"], typeConverter = LoganSquareJodaTimeConverter::class) + @Serializable(with = KotlinxJodaTimeConverter::class) var datetime: DateTime?, - @JsonField(name = ["object_type"]) + @SerialName("object_type") var objectType: String?, - @JsonField(name = ["object_id"]) + @SerialName("object_id") var objectId: String?, - @JsonField(name = ["subject"]) var subject: String?, - @JsonField(name = ["subjectRich"]) var subjectRich: String?, - @JsonField(name = ["subjectRichParameters"]) var subjectRichParameters: HashMap>?, - @JsonField(name = ["message"]) var message: String?, - @JsonField(name = ["messageRich"]) var messageRich: String?, - @JsonField(name = ["messageRichParameters"]) var messageRichParameters: HashMap>?, - @JsonField(name = ["link"]) var link: String?, - @JsonField(name = ["actions"]) var actions: List? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationAction.kt b/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationAction.kt index cb06eb837..d987a9b1f 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationAction.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationAction.kt @@ -22,20 +22,16 @@ package com.nextcloud.talk.models.json.notifications import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class NotificationAction( - @JsonField(name = ["label"]) var label: String?, - @JsonField(name = ["link"]) var link: String?, - @JsonField(name = ["type"]) var type: String?, - @JsonField(name = ["primary"]) var primary: Boolean ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOCS.kt index 4745ffaa7..04ac59fa6 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOCS.kt @@ -22,17 +22,16 @@ package com.nextcloud.talk.models.json.notifications import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class NotificationOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta?, - @JsonField(name = ["data"]) + @SerialName("data") var notification: Notification? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOverall.kt index 5c5fb2287..9b42ad25f 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOverall.kt @@ -21,14 +21,13 @@ */ package com.nextcloud.talk.models.json.notifications -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable // see https://github.com/nextcloud/notifications/blob/master/docs/ocs-endpoint-v2.md -@JsonObject +@Serializable data class NotificationOverall( - @JsonField(name = ["ocs"]) var ocs: NotificationOCS? ) { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationRichObject.kt b/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationRichObject.kt index e4eff410e..9d655fd48 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationRichObject.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationRichObject.kt @@ -22,18 +22,16 @@ package com.nextcloud.talk.models.json.notifications import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable class NotificationRichObject( - @JsonField(name = ["id"]) + @SerialName("id") var label: String?, - @JsonField(name = ["type"]) var type: String?, - @JsonField(name = ["name"]) var name: String? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationsOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationsOCS.kt index 94f3280ac..ff41f862d 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationsOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationsOCS.kt @@ -24,17 +24,16 @@ package com.nextcloud.talk.models.json.notifications import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable class NotificationsOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta?, - @JsonField(name = ["data"]) + @SerialName("data") var notificationsList: List? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationsOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationsOverall.kt index cc5a94569..afea6ade4 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationsOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationsOverall.kt @@ -21,12 +21,11 @@ */ package com.nextcloud.talk.models.json.notifications -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable -@JsonObject +@Serializable class NotificationsOverall( - @JsonField(name = ["ocs"]) var ocs: NotificationsOCS? ) { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/opengraph/OpenGraphOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/opengraph/OpenGraphOCS.kt index 941d849a6..de1df5f04 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/opengraph/OpenGraphOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/opengraph/OpenGraphOCS.kt @@ -20,17 +20,15 @@ package com.nextcloud.talk.models.json.opengraph import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class OpenGraphOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta?, - @JsonField(name = ["data"]) var data: OpenGraphResponse? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/opengraph/OpenGraphObject.kt b/app/src/main/java/com/nextcloud/talk/models/json/opengraph/OpenGraphObject.kt index 3150eaecf..2c6837615 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/opengraph/OpenGraphObject.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/opengraph/OpenGraphObject.kt @@ -20,22 +20,17 @@ package com.nextcloud.talk.models.json.opengraph import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class OpenGraphObject( - @JsonField(name = ["id"]) var id: String, - @JsonField(name = ["name"]) var name: String, - @JsonField(name = ["description"]) var description: String? = null, - @JsonField(name = ["thumb"]) var thumb: String? = null, - @JsonField(name = ["link"]) var link: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/opengraph/OpenGraphOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/opengraph/OpenGraphOverall.kt index fae9653b2..ab8a5a78d 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/opengraph/OpenGraphOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/opengraph/OpenGraphOverall.kt @@ -20,14 +20,13 @@ package com.nextcloud.talk.models.json.opengraph import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class OpenGraphOverall( - @JsonField(name = ["ocs"]) var ocs: OpenGraphOCS? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/opengraph/OpenGraphResponse.kt b/app/src/main/java/com/nextcloud/talk/models/json/opengraph/OpenGraphResponse.kt index 07be4c527..e2e596f82 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/opengraph/OpenGraphResponse.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/opengraph/OpenGraphResponse.kt @@ -20,14 +20,13 @@ package com.nextcloud.talk.models.json.opengraph import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class OpenGraphResponse( - @JsonField(name = ["references"]) var references: HashMap? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/opengraph/Reference.kt b/app/src/main/java/com/nextcloud/talk/models/json/opengraph/Reference.kt index b9652110e..593af6232 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/opengraph/Reference.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/opengraph/Reference.kt @@ -20,20 +20,16 @@ package com.nextcloud.talk.models.json.opengraph import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class Reference( - @JsonField(name = ["richObjectType"]) var richObjectType: String? = null, - @JsonField(name = ["richObject"]) var richObject: RichObject? = null, - @JsonField(name = ["openGraphObject"]) var openGraphObject: OpenGraphObject? = null, - @JsonField(name = ["accessible"]) var accessible: Boolean ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/opengraph/RichObject.kt b/app/src/main/java/com/nextcloud/talk/models/json/opengraph/RichObject.kt index c9697429d..a1f3bdcfb 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/opengraph/RichObject.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/opengraph/RichObject.kt @@ -20,22 +20,17 @@ package com.nextcloud.talk.models.json.opengraph import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class RichObject( - @JsonField(name = ["id"]) var id: String, - @JsonField(name = ["name"]) var name: String, - @JsonField(name = ["description"]) var description: String? = null, - @JsonField(name = ["thumb"]) var thumb: String? = null, - @JsonField(name = ["link"]) var link: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/participants/AddParticipantOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/participants/AddParticipantOCS.kt index fef24a6e6..6092309cc 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/participants/AddParticipantOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/participants/AddParticipantOCS.kt @@ -22,19 +22,17 @@ package com.nextcloud.talk.models.json.participants import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.conversations.Conversation import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class AddParticipantOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta?, /* Returned room will have only type set, and sometimes even that will be null */ - @JsonField(name = ["data"]) var data: Conversation? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/participants/AddParticipantOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/participants/AddParticipantOverall.kt index 8fee65813..bea37acff 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/participants/AddParticipantOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/participants/AddParticipantOverall.kt @@ -22,15 +22,14 @@ package com.nextcloud.talk.models.json.participants import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.conversations.RoomsOCS import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class AddParticipantOverall( - @JsonField(name = ["ocs"]) var ocs: RoomsOCS? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/participants/Participant.kt b/app/src/main/java/com/nextcloud/talk/models/json/participants/Participant.kt index 68f0c7bf9..dfd96b5de 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/participants/Participant.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/participants/Participant.kt @@ -22,72 +22,51 @@ package com.nextcloud.talk.models.json.participants import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.converters.EnumActorTypeConverter import com.nextcloud.talk.models.json.converters.EnumParticipantTypeConverter import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class Participant( - @JsonField(name = ["attendeeId"]) var attendeeId: Long? = null, - @JsonField(name = ["actorType"], typeConverter = EnumActorTypeConverter::class) + @SerialName("actorType"], typeConverter = EnumActorTypeConverter::class) var actorType: ActorType? = null, - @JsonField(name = ["actorId"]) var actorId: String? = null, - @JsonField(name = ["attendeePin"]) var attendeePin: String? = null, @Deprecated("") - @JsonField(name = ["userId"]) var userId: String? = null, - @JsonField(name = ["internal"]) var internal: Boolean? = null, - @JsonField(name = ["type", "participantType"], typeConverter = EnumParticipantTypeConverter::class) + @SerialName("type", "participantType"], typeConverter = EnumParticipantTypeConverter::class) var type: ParticipantType? = null, @Deprecated("") - @JsonField(name = ["name"]) var name: String? = null, - @JsonField(name = ["displayName"]) var displayName: String? = null, - @JsonField(name = ["lastPing"]) var lastPing: Long = 0, @Deprecated("") - @JsonField(name = ["sessionId"]) var sessionId: String? = null, - @JsonField(name = ["sessionIds"]) var sessionIds: ArrayList = ArrayList(0), @Deprecated("") - @JsonField(name = ["roomId"]) var roomId: Long = 0, - - @JsonField(name = ["inCall"]) var inCall: Long = 0, - - @JsonField(name = ["status"]) var status: String? = null, - - @JsonField(name = ["statusIcon"]) var statusIcon: String? = null, - - @JsonField(name = ["statusMessage"]) var statusMessage: String? = null, - var source: String? = null, - var selected: Boolean = false ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/participants/ParticipantsOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/participants/ParticipantsOCS.kt index 0b0af271c..1c0ff262a 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/participants/ParticipantsOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/participants/ParticipantsOCS.kt @@ -22,17 +22,15 @@ package com.nextcloud.talk.models.json.participants import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ParticipantsOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta?, - @JsonField(name = ["data"]) var data: List? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/participants/ParticipantsOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/participants/ParticipantsOverall.kt index cc69f6320..b4fc849b1 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/participants/ParticipantsOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/participants/ParticipantsOverall.kt @@ -22,14 +22,13 @@ package com.nextcloud.talk.models.json.participants import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ParticipantsOverall( - @JsonField(name = ["ocs"]) var ocs: ParticipantsOCS? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/push/DecryptedPushMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/push/DecryptedPushMessage.kt index 9ff9b3a32..cc3d9f80d 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/push/DecryptedPushMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/push/DecryptedPushMessage.kt @@ -20,39 +20,39 @@ package com.nextcloud.talk.models.json.push import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField +import kotlinx.serialization.SerialName import com.bluelinelabs.logansquare.annotation.JsonIgnore -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class DecryptedPushMessage( - @JsonField(name = ["app"]) + @SerialName("app") var app: String?, - @JsonField(name = ["type"]) + @SerialName("type") var type: String?, - @JsonField(name = ["subject"]) + @SerialName("subject") var subject: String, - @JsonField(name = ["id"]) + @SerialName("id") var id: String?, - @JsonField(name = ["nid"]) + @SerialName("nid") var notificationId: Long?, - @JsonField(name = ["nids"]) + @SerialName("nids") var notificationIds: LongArray?, - @JsonField(name = ["delete"]) + @SerialName("delete") var delete: Boolean, - @JsonField(name = ["delete-all"]) + @SerialName("delete-all") var deleteAll: Boolean, - @JsonField(name = ["delete-multiple"]) + @SerialName("delete-multiple") var deleteMultiple: Boolean, @JsonIgnore diff --git a/app/src/main/java/com/nextcloud/talk/models/json/push/NotificationUser.kt b/app/src/main/java/com/nextcloud/talk/models/json/push/NotificationUser.kt index 8f0634bc5..68e66d1dd 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/push/NotificationUser.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/push/NotificationUser.kt @@ -22,20 +22,20 @@ package com.nextcloud.talk.models.json.push import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class NotificationUser( - @JsonField(name = ["type"]) + @SerialName("type") var type: String?, - @JsonField(name = ["id"]) + @SerialName("id") var id: String?, - @JsonField(name = ["name"]) + @SerialName("name") var name: String? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/push/PushConfigurationState.kt b/app/src/main/java/com/nextcloud/talk/models/json/push/PushConfigurationState.kt index 9b6e39956..3dbc53e0e 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/push/PushConfigurationState.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/push/PushConfigurationState.kt @@ -22,26 +22,26 @@ package com.nextcloud.talk.models.json.push import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class PushConfigurationState( - @JsonField(name = ["pushToken"]) + @SerialName("pushToken") var pushToken: String?, - @JsonField(name = ["deviceIdentifier"]) + @SerialName("deviceIdentifier") var deviceIdentifier: String?, - @JsonField(name = ["deviceIdentifierSignature"]) + @SerialName("deviceIdentifierSignature") var deviceIdentifierSignature: String?, - @JsonField(name = ["userPublicKey"]) + @SerialName("userPublicKey") var userPublicKey: String?, - @JsonField(name = ["usesRegularPass"]) + @SerialName("usesRegularPass") var usesRegularPass: Boolean? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/push/PushRegistration.kt b/app/src/main/java/com/nextcloud/talk/models/json/push/PushRegistration.kt index dcfa7c1c7..274474666 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/push/PushRegistration.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/push/PushRegistration.kt @@ -22,20 +22,20 @@ package com.nextcloud.talk.models.json.push import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize +import kotlinx.serialization.SerialName @Parcelize -@JsonObject +@Serializable data class PushRegistration( - @JsonField(name = ["publicKey"]) + @SerialName("publicKey") var publicKey: String?, - @JsonField(name = ["deviceIdentifier"]) + @SerialName("deviceIdentifier") var deviceIdentifier: String?, - @JsonField(name = ["signature"]) + @SerialName("signature") var signature: String? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/push/PushRegistrationOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/push/PushRegistrationOCS.kt index 204c83e2b..6be0e1044 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/push/PushRegistrationOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/push/PushRegistrationOCS.kt @@ -22,17 +22,17 @@ package com.nextcloud.talk.models.json.push import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class PushRegistrationOCS( - @JsonField(name = ["meta"]) + @SerialName("meta") var meta: GenericMeta?, - @JsonField(name = ["data"]) + @SerialName("data") var data: PushRegistration? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/push/PushRegistrationOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/push/PushRegistrationOverall.kt index dc6fd9c7e..ac748e704 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/push/PushRegistrationOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/push/PushRegistrationOverall.kt @@ -22,14 +22,14 @@ package com.nextcloud.talk.models.json.push import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class PushRegistrationOverall( - @JsonField(name = ["ocs"]) + @SerialName("ocs") var ocs: PushRegistrationOCS? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/reactions/ReactionVoter.kt b/app/src/main/java/com/nextcloud/talk/models/json/reactions/ReactionVoter.kt index 74eeec9a3..15b1f594c 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/reactions/ReactionVoter.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/reactions/ReactionVoter.kt @@ -20,21 +20,18 @@ package com.nextcloud.talk.models.json.reactions import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.converters.EnumReactionActorTypeConverter import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ReactionVoter( - @JsonField(name = ["actorType"], typeConverter = EnumReactionActorTypeConverter::class) + @SerialName("actorType", typeConverter = EnumReactionActorTypeConverter::class) var actorType: ReactionActorType?, - @JsonField(name = ["actorId"]) var actorId: String?, - @JsonField(name = ["actorDisplayName"]) var actorDisplayName: String?, - @JsonField(name = ["timestamp"]) var timestamp: Long = 0 ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/reactions/ReactionsOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/reactions/ReactionsOCS.kt index a52cea636..7d28998b5 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/reactions/ReactionsOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/reactions/ReactionsOCS.kt @@ -22,18 +22,16 @@ package com.nextcloud.talk.models.json.reactions import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize import java.util.HashMap @Parcelize -@JsonObject +@Serializable data class ReactionsOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta?, - @JsonField(name = ["data"]) var data: HashMap>? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/reactions/ReactionsOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/reactions/ReactionsOverall.kt index 56fad102c..37d628340 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/reactions/ReactionsOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/reactions/ReactionsOverall.kt @@ -20,14 +20,13 @@ package com.nextcloud.talk.models.json.reactions import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ReactionsOverall( - @JsonField(name = ["ocs"]) var ocs: ReactionsOCS? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/reminder/Reminder.kt b/app/src/main/java/com/nextcloud/talk/models/json/reminder/Reminder.kt index b8b47fc28..90c4579b2 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/reminder/Reminder.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/reminder/Reminder.kt @@ -20,20 +20,16 @@ package com.nextcloud.talk.models.json.reminder import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class Reminder( - @JsonField(name = ["userid"]) var userid: String? = null, - @JsonField(name = ["token"]) var token: String? = null, - @JsonField(name = ["messageId"]) var messageId: Int? = null, - @JsonField(name = ["timestamp"]) var timestamp: Int? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/reminder/ReminderOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/reminder/ReminderOCS.kt index 2dbe0309b..78bd15000 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/reminder/ReminderOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/reminder/ReminderOCS.kt @@ -20,17 +20,15 @@ package com.nextcloud.talk.models.json.reminder import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ReminderOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta? = null, - @JsonField(name = ["data"]) var data: Reminder? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/reminder/ReminderOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/reminder/ReminderOverall.kt index 8c94cf867..ba0e71bf4 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/reminder/ReminderOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/reminder/ReminderOverall.kt @@ -20,14 +20,13 @@ package com.nextcloud.talk.models.json.reminder import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ReminderOverall( - @JsonField(name = ["ocs"]) var ocs: ReminderOCS? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/search/ContactsByNumberOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/search/ContactsByNumberOCS.kt index 9df294a3c..730bbc49b 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/search/ContactsByNumberOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/search/ContactsByNumberOCS.kt @@ -22,17 +22,16 @@ package com.nextcloud.talk.models.json.search import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ContactsByNumberOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta?, - @JsonField(name = ["data"]) + @SerialName("data") var map: Map? = HashMap() ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/search/ContactsByNumberOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/search/ContactsByNumberOverall.kt index 6fdf7ccf7..136e0f7a5 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/search/ContactsByNumberOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/search/ContactsByNumberOverall.kt @@ -22,14 +22,14 @@ package com.nextcloud.talk.models.json.search import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ContactsByNumberOverall( - @JsonField(name = ["ocs"]) + @SerialName("ocs") var ocs: ContactsByNumberOCS? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/sharees/ExactSharees.kt b/app/src/main/java/com/nextcloud/talk/models/json/sharees/ExactSharees.kt index 11373f31e..ab8f6844a 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/sharees/ExactSharees.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/sharees/ExactSharees.kt @@ -22,14 +22,14 @@ package com.nextcloud.talk.models.json.sharees import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ExactSharees( - @JsonField(name = ["users"]) + @SerialName("users") var exactSharees: List? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/sharees/Sharee.kt b/app/src/main/java/com/nextcloud/talk/models/json/sharees/Sharee.kt index e70fbc947..ba6b4143f 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/sharees/Sharee.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/sharees/Sharee.kt @@ -22,18 +22,18 @@ package com.nextcloud.talk.models.json.sharees import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class Sharee( - @JsonField(name = ["id"]) + @SerialName("id") var id: String? = null, - @JsonField(name = ["value"]) + @SerialName("value") var value: Value? = null, - @JsonField(name = ["label"]) + @SerialName("label") var label: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/sharees/ShareesOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/sharees/ShareesOCS.kt index b6b06489e..4285b366f 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/sharees/ShareesOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/sharees/ShareesOCS.kt @@ -22,17 +22,15 @@ package com.nextcloud.talk.models.json.sharees import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ShareesOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta?, - @JsonField(name = ["data"]) var data: SharesData? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/sharees/ShareesOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/sharees/ShareesOverall.kt index 0aa6229e7..f4febb9ff 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/sharees/ShareesOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/sharees/ShareesOverall.kt @@ -22,14 +22,13 @@ package com.nextcloud.talk.models.json.sharees import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ShareesOverall( - @JsonField(name = ["ocs"]) var ocs: ShareesOCS? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/sharees/SharesData.kt b/app/src/main/java/com/nextcloud/talk/models/json/sharees/SharesData.kt index 265ffadc3..a66d517aa 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/sharees/SharesData.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/sharees/SharesData.kt @@ -22,16 +22,15 @@ package com.nextcloud.talk.models.json.sharees import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class SharesData( - @JsonField(name = ["users"]) var users: List? = null, - @JsonField(name = ["exact"]) + @SerialName("exact") var exactUsers: ExactSharees? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/sharees/Value.kt b/app/src/main/java/com/nextcloud/talk/models/json/sharees/Value.kt index 1f2af0db6..e1a12b586 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/sharees/Value.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/sharees/Value.kt @@ -22,14 +22,14 @@ package com.nextcloud.talk.models.json.sharees import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class Value( - @JsonField(name = ["shareWith"]) + @SerialName("shareWith") var shareWith: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/signaling/DataChannelMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/signaling/DataChannelMessage.kt index d4c0a0c66..110abbe4e 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/signaling/DataChannelMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/signaling/DataChannelMessage.kt @@ -22,24 +22,24 @@ package com.nextcloud.talk.models.json.signaling import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.AnyParceler import kotlinx.parcelize.Parcelize import kotlinx.parcelize.TypeParceler @Parcelize -@JsonObject +@Serializable @TypeParceler data class DataChannelMessage( - @JsonField(name = ["type"]) var type: String? = null, /** Can be String or Map * Use only for received messages */ - @JsonField(name = ["payload"]) - var payload: Any? = null, + @SerialName("payload") + // TODO: Can be String or Map + var payload: String? = null, /** Use only to send messages */ - @JsonField(name = ["payload"]) + // @SerialName("payload") // TODO: duplicated payload was intentional, see commit 68cf4ee0 var payloadMap: Map? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/signaling/NCIceCandidate.kt b/app/src/main/java/com/nextcloud/talk/models/json/signaling/NCIceCandidate.kt index e59a3d63e..8346c3746 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/signaling/NCIceCandidate.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/signaling/NCIceCandidate.kt @@ -22,18 +22,15 @@ package com.nextcloud.talk.models.json.signaling import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class NCIceCandidate( - @JsonField(name = ["sdpMLineIndex"]) var sdpMLineIndex: Int = 0, - @JsonField(name = ["sdpMid"]) var sdpMid: String? = null, - @JsonField(name = ["candidate"]) var candidate: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/signaling/NCMessagePayload.kt b/app/src/main/java/com/nextcloud/talk/models/json/signaling/NCMessagePayload.kt index 1f478b9fc..e7156fee6 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/signaling/NCMessagePayload.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/signaling/NCMessagePayload.kt @@ -22,28 +22,21 @@ package com.nextcloud.talk.models.json.signaling import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class NCMessagePayload( - @JsonField(name = ["type"]) var type: String? = null, - @JsonField(name = ["sdp"]) var sdp: String? = null, - @JsonField(name = ["nick"]) var nick: String? = null, - @JsonField(name = ["candidate"]) + @SerialName("candidate") var iceCandidate: NCIceCandidate? = null, - @JsonField(name = ["name"]) var name: String? = null, - @JsonField(name = ["state"]) var state: Boolean? = null, - @JsonField(name = ["timestamp"]) var timestamp: Long? = null, - @JsonField(name = ["reaction"]) var reaction: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/signaling/NCSignalingMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/signaling/NCSignalingMessage.kt index f87f9a9b4..0fa6b10f4 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/signaling/NCSignalingMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/signaling/NCSignalingMessage.kt @@ -22,26 +22,19 @@ package com.nextcloud.talk.models.json.signaling import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class NCSignalingMessage( - @JsonField(name = ["from"]) var from: String? = null, - @JsonField(name = ["to"]) var to: String? = null, - @JsonField(name = ["type"]) var type: String? = null, - @JsonField(name = ["payload"]) var payload: NCMessagePayload? = null, - @JsonField(name = ["roomType"]) var roomType: String? = null, - @JsonField(name = ["sid"]) var sid: String? = null, - @JsonField(name = ["prefix"]) var prefix: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/signaling/Signaling.kt b/app/src/main/java/com/nextcloud/talk/models/json/signaling/Signaling.kt index 854716042..c808ff3f3 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/signaling/Signaling.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/signaling/Signaling.kt @@ -22,21 +22,21 @@ package com.nextcloud.talk.models.json.signaling import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.AnyParceler import kotlinx.parcelize.Parcelize import kotlinx.parcelize.TypeParceler @Parcelize -@JsonObject +@Serializable @TypeParceler data class Signaling( - @JsonField(name = ["type"]) var type: String? = null, /** can be NCSignalingMessage (encoded as a String) or List> */ - @JsonField(name = ["data"]) - var messageWrapper: Any? = null + @SerialName("data") + // TODO: can be NCSignalingMessage (encoded as a String) or List> + var messageWrapper: NCSignalingMessage? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' constructor() : this(null, null) diff --git a/app/src/main/java/com/nextcloud/talk/models/json/signaling/SignalingOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/signaling/SignalingOCS.kt index 157eef621..3e591a3e3 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/signaling/SignalingOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/signaling/SignalingOCS.kt @@ -22,17 +22,16 @@ package com.nextcloud.talk.models.json.signaling import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable class SignalingOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta?, - @JsonField(name = ["data"]) + @SerialName("data") var signalings: List? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/signaling/SignalingOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/signaling/SignalingOverall.kt index e52b37c3a..c3c300df0 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/signaling/SignalingOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/signaling/SignalingOverall.kt @@ -22,14 +22,13 @@ package com.nextcloud.talk.models.json.signaling import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable class SignalingOverall( - @JsonField(name = ["ocs"]) var ocs: SignalingOCS? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/IceServer.kt b/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/IceServer.kt index 332f596fd..808b0201e 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/IceServer.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/IceServer.kt @@ -22,23 +22,17 @@ package com.nextcloud.talk.models.json.signaling.settings import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject -import kotlinx.parcelize.Parcelize +import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable +import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject @Serializable data class IceServer( @Deprecated("") - @JsonField(name = ["url"]) var url: String? = null, - @JsonField(name = ["urls"]) var urls: List? = null, - @JsonField(name = ["username"]) var username: String? = null, - @JsonField(name = ["credential"]) var credential: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/SignalingSettings.kt b/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/SignalingSettings.kt index c4385adb9..2832609f6 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/SignalingSettings.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/SignalingSettings.kt @@ -22,22 +22,20 @@ package com.nextcloud.talk.models.json.signaling.settings import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject -import kotlinx.parcelize.Parcelize +import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable +import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject @Serializable data class SignalingSettings( - @JsonField(name = ["stunservers"]) + @SerialName("stunservers") var stunServers: List? = null, - @JsonField(name = ["turnservers"]) + @SerialName("turnservers") var turnServers: List? = null, - @JsonField(name = ["server"]) + @SerialName("server") var externalSignalingServer: String? = null, - @JsonField(name = ["ticket"]) + @SerialName("ticket") var externalSignalingTicket: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/SignalingSettingsOcs.kt b/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/SignalingSettingsOcs.kt index 1bc0c05cd..c8e42e482 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/SignalingSettingsOcs.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/SignalingSettingsOcs.kt @@ -22,17 +22,16 @@ package com.nextcloud.talk.models.json.signaling.settings import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class SignalingSettingsOcs( - @JsonField(name = ["meta"]) var meta: GenericMeta?, - @JsonField(name = ["data"]) + @SerialName("data") var settings: SignalingSettings? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/SignalingSettingsOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/SignalingSettingsOverall.kt index 743530efd..bffd44674 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/SignalingSettingsOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/SignalingSettingsOverall.kt @@ -22,14 +22,13 @@ package com.nextcloud.talk.models.json.signaling.settings import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class SignalingSettingsOverall( - @JsonField(name = ["ocs"]) var ocs: SignalingSettingsOcs? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/status/ClearAt.kt b/app/src/main/java/com/nextcloud/talk/models/json/status/ClearAt.kt index d1dd87184..5d1618320 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/status/ClearAt.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/status/ClearAt.kt @@ -1,16 +1,16 @@ package com.nextcloud.talk.models.json.status import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ClearAt( - @JsonField(name = ["type"]) + @SerialName("type") var type: String, - @JsonField(name = ["time"]) + @SerialName("time") var time: String ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/status/Status.kt b/app/src/main/java/com/nextcloud/talk/models/json/status/Status.kt index 9f43683ab..435e532a0 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/status/Status.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/status/Status.kt @@ -20,30 +20,30 @@ package com.nextcloud.talk.models.json.status import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class Status( - @JsonField(name = ["userId"]) + @SerialName("userId") var userId: String?, - @JsonField(name = ["message"]) + @SerialName("message") var message: String?, /* TODO Change to enum */ - @JsonField(name = ["messageId"]) + @SerialName("messageId") var messageId: String?, - @JsonField(name = ["messageIsPredefined"]) + @SerialName("messageIsPredefined") var messageIsPredefined: Boolean, - @JsonField(name = ["icon"]) + @SerialName("icon") var icon: String?, - @JsonField(name = ["clearAt"]) + @SerialName("clearAt") var clearAt: Long = 0, /* TODO Change to enum */ - @JsonField(name = ["status"]) + @SerialName("status") var status: String = "offline", - @JsonField(name = ["statusIsUserDefined"]) + @SerialName("statusIsUserDefined") var statusIsUserDefined: Boolean ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/status/StatusOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/status/StatusOCS.kt index 8d9d13c34..6588a4011 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/status/StatusOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/status/StatusOCS.kt @@ -22,17 +22,17 @@ package com.nextcloud.talk.models.json.status import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class StatusOCS( - @JsonField(name = ["meta"]) + @SerialName("meta") var meta: GenericMeta?, - @JsonField(name = ["data"]) + @SerialName("data") var data: Status? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/status/StatusOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/status/StatusOverall.kt index a8d88e369..085e1b34c 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/status/StatusOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/status/StatusOverall.kt @@ -22,14 +22,14 @@ package com.nextcloud.talk.models.json.status import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class StatusOverall( - @JsonField(name = ["ocs"]) + @SerialName("ocs") var ocs: StatusOCS? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/status/predefined/PredefinedStatus.kt b/app/src/main/java/com/nextcloud/talk/models/json/status/predefined/PredefinedStatus.kt index 679c0c5a1..94476ceeb 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/status/predefined/PredefinedStatus.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/status/predefined/PredefinedStatus.kt @@ -1,21 +1,21 @@ package com.nextcloud.talk.models.json.status.predefined import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.status.ClearAt import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class PredefinedStatus( - @JsonField(name = ["id"]) + @SerialName("id") var id: String, - @JsonField(name = ["icon"]) + @SerialName("icon") var icon: String, - @JsonField(name = ["message"]) + @SerialName("message") var message: String, - @JsonField(name = ["clearAt"]) + @SerialName("clearAt") var clearAt: ClearAt? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/status/predefined/PredefinedStatusOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/status/predefined/PredefinedStatusOCS.kt index e89ae28f6..b6c224f43 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/status/predefined/PredefinedStatusOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/status/predefined/PredefinedStatusOCS.kt @@ -23,17 +23,17 @@ package com.nextcloud.talk.models.json.status.predefined import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class PredefinedStatusOCS( - @JsonField(name = ["meta"]) + @SerialName("meta") var meta: GenericMeta?, - @JsonField(name = ["data"]) + @SerialName("data") var data: List? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/status/predefined/PredefinedStatusOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/status/predefined/PredefinedStatusOverall.kt index 8a8706198..9325a54cd 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/status/predefined/PredefinedStatusOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/status/predefined/PredefinedStatusOverall.kt @@ -22,14 +22,14 @@ package com.nextcloud.talk.models.json.status.predefined import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class PredefinedStatusOverall( - @JsonField(name = ["ocs"]) + @SerialName("ocs") var ocs: PredefinedStatusOCS? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/unifiedsearch/UnifiedSearchEntry.kt b/app/src/main/java/com/nextcloud/talk/models/json/unifiedsearch/UnifiedSearchEntry.kt index a4450560f..2ded19f20 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/unifiedsearch/UnifiedSearchEntry.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/unifiedsearch/UnifiedSearchEntry.kt @@ -22,26 +22,19 @@ package com.nextcloud.talk.models.json.unifiedsearch import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class UnifiedSearchEntry( - @JsonField(name = ["thumbnailUrl"]) var thumbnailUrl: String?, - @JsonField(name = ["title"]) var title: String?, - @JsonField(name = ["subline"]) var subline: String?, - @JsonField(name = ["resourceUrl"]) var resourceUrl: String?, - @JsonField(name = ["icon"]) var icon: String?, - @JsonField(name = ["rounded"]) var rounded: Boolean?, - @JsonField(name = ["attributes"]) var attributes: Map? ) : Parcelable { constructor() : this(null, null, null, null, null, null, null) diff --git a/app/src/main/java/com/nextcloud/talk/models/json/unifiedsearch/UnifiedSearchOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/unifiedsearch/UnifiedSearchOCS.kt index c37a4d45a..2e814f031 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/unifiedsearch/UnifiedSearchOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/unifiedsearch/UnifiedSearchOCS.kt @@ -20,17 +20,15 @@ package com.nextcloud.talk.models.json.unifiedsearch import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class UnifiedSearchOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta?, - @JsonField(name = ["data"]) var data: UnifiedSearchResponseData? ) : Parcelable { // Empty constructor needed for JsonObject diff --git a/app/src/main/java/com/nextcloud/talk/models/json/unifiedsearch/UnifiedSearchOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/unifiedsearch/UnifiedSearchOverall.kt index ce5992463..09de11026 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/unifiedsearch/UnifiedSearchOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/unifiedsearch/UnifiedSearchOverall.kt @@ -20,14 +20,13 @@ package com.nextcloud.talk.models.json.unifiedsearch import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class UnifiedSearchOverall( - @JsonField(name = ["ocs"]) var ocs: UnifiedSearchOCS? ) : Parcelable { // Empty constructor needed for JsonObject diff --git a/app/src/main/java/com/nextcloud/talk/models/json/unifiedsearch/UnifiedSearchResponseData.kt b/app/src/main/java/com/nextcloud/talk/models/json/unifiedsearch/UnifiedSearchResponseData.kt index f261aea22..ccfa8d95a 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/unifiedsearch/UnifiedSearchResponseData.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/unifiedsearch/UnifiedSearchResponseData.kt @@ -22,20 +22,16 @@ package com.nextcloud.talk.models.json.unifiedsearch import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class UnifiedSearchResponseData( - @JsonField(name = ["name"]) var name: String?, - @JsonField(name = ["isPaginated"]) var paginated: Boolean?, - @JsonField(name = ["entries"]) var entries: List?, - @JsonField(name = ["cursor"]) var cursor: Int? ) : Parcelable { // empty constructor needed for JsonObject diff --git a/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileData.kt b/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileData.kt index dc05729d7..54f68227f 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileData.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileData.kt @@ -22,55 +22,50 @@ package com.nextcloud.talk.models.json.userprofile import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.converters.ScopeConverter import com.nextcloud.talk.profile.ProfileActivity import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class UserProfileData( - @JsonField(name = ["display-name"]) + @SerialName("display-name") var displayName: String?, - @JsonField(name = ["displaynameScope"], typeConverter = ScopeConverter::class) + @SerialName("displaynameScope", typeConverter = ScopeConverter::class) var displayNameScope: Scope?, - @JsonField(name = ["displayname"]) + @SerialName("displayname") var displayNameAlt: String?, - @JsonField(name = ["id"]) + @SerialName("id") var userId: String?, - @JsonField(name = ["phone"]) var phone: String?, - @JsonField(name = ["phoneScope"], typeConverter = ScopeConverter::class) + @SerialName("phoneScope", typeConverter = ScopeConverter::class) var phoneScope: Scope?, - @JsonField(name = ["email"]) var email: String?, - @JsonField(name = ["emailScope"], typeConverter = ScopeConverter::class) + @SerialName("emailScope", typeConverter = ScopeConverter::class) var emailScope: Scope?, - @JsonField(name = ["address"]) var address: String?, - @JsonField(name = ["addressScope"], typeConverter = ScopeConverter::class) + @SerialName("addressScope", typeConverter = ScopeConverter::class) var addressScope: Scope?, - @JsonField(name = ["twitter"]) var twitter: String?, - @JsonField(name = ["twitterScope"], typeConverter = ScopeConverter::class) + @SerialName("twitterScope", typeConverter = ScopeConverter::class) var twitterScope: Scope?, - @JsonField(name = ["website"]) var website: String?, - @JsonField(name = ["websiteScope"], typeConverter = ScopeConverter::class) + @SerialName("websiteScope", typeConverter = ScopeConverter::class) var websiteScope: Scope? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileFieldsOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileFieldsOCS.kt index 354d2f749..b396c7bc7 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileFieldsOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileFieldsOCS.kt @@ -22,18 +22,16 @@ package com.nextcloud.talk.models.json.userprofile import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize import java.util.ArrayList @Parcelize -@JsonObject +@Serializable data class UserProfileFieldsOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta?, - @JsonField(name = ["data"]) var data: ArrayList? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileFieldsOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileFieldsOverall.kt index 9c9875860..4d79d93e0 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileFieldsOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileFieldsOverall.kt @@ -22,14 +22,13 @@ package com.nextcloud.talk.models.json.userprofile import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class UserProfileFieldsOverall( - @JsonField(name = ["ocs"]) var ocs: UserProfileFieldsOCS? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileOCS.kt b/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileOCS.kt index 9c7d6eebc..121eeaad4 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileOCS.kt @@ -22,17 +22,15 @@ package com.nextcloud.talk.models.json.userprofile import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class UserProfileOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta?, - @JsonField(name = ["data"]) var data: UserProfileData? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileOverall.kt b/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileOverall.kt index 657bd353e..0e916d7a6 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/userprofile/UserProfileOverall.kt @@ -22,14 +22,13 @@ package com.nextcloud.talk.models.json.userprofile import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class UserProfileOverall( - @JsonField(name = ["ocs"]) var ocs: UserProfileOCS? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/websocket/ActorWebSocketMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/websocket/ActorWebSocketMessage.kt index 7e771dc73..2fe3c435e 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/websocket/ActorWebSocketMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/websocket/ActorWebSocketMessage.kt @@ -22,18 +22,16 @@ package com.nextcloud.talk.models.json.websocket import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ActorWebSocketMessage( - @JsonField(name = ["type"]) var type: String? = null, - @JsonField(name = ["sessionid"]) + @SerialName("sessionid") var sessionId: String? = null, - @JsonField(name = ["userid"]) var userid: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/websocket/AuthParametersWebSocketMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/websocket/AuthParametersWebSocketMessage.kt index 70fb1a635..aff5d5ca2 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/websocket/AuthParametersWebSocketMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/websocket/AuthParametersWebSocketMessage.kt @@ -22,16 +22,14 @@ package com.nextcloud.talk.models.json.websocket import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable class AuthParametersWebSocketMessage( - @JsonField(name = ["userid"]) var userid: String? = null, - @JsonField(name = ["ticket"]) var ticket: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/websocket/AuthWebSocketMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/websocket/AuthWebSocketMessage.kt index b71b0d7e8..7919362cc 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/websocket/AuthWebSocketMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/websocket/AuthWebSocketMessage.kt @@ -22,16 +22,15 @@ package com.nextcloud.talk.models.json.websocket import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class AuthWebSocketMessage( - @JsonField(name = ["url"]) var url: String? = null, - @JsonField(name = ["params"]) + @SerialName("params") var authParametersWebSocketMessage: AuthParametersWebSocketMessage? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/websocket/BaseWebSocketMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/websocket/BaseWebSocketMessage.kt index eac13ec30..2d57bae4c 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/websocket/BaseWebSocketMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/websocket/BaseWebSocketMessage.kt @@ -22,14 +22,13 @@ package com.nextcloud.talk.models.json.websocket import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class BaseWebSocketMessage( - @JsonField(name = ["type"]) var type: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/websocket/ByeWebSocketMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/websocket/ByeWebSocketMessage.kt index d57f8a40a..95d7ed882 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/websocket/ByeWebSocketMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/websocket/ByeWebSocketMessage.kt @@ -22,21 +22,20 @@ package com.nextcloud.talk.models.json.websocket import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.AnyParceler import kotlinx.parcelize.Parcelize import kotlinx.parcelize.TypeParceler import java.util.HashMap @Parcelize -@JsonObject +@Serializable @TypeParceler data class ByeWebSocketMessage( - @JsonField(name = ["type"]) var type: String? = null, - @JsonField(name = ["bye"]) - var bye: HashMap? = null + // TODO: replaced HashMap? with HashMap? This might not work?! + var bye: HashMap? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' constructor() : this(null, null) diff --git a/app/src/main/java/com/nextcloud/talk/models/json/websocket/CallOverallWebSocketMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/websocket/CallOverallWebSocketMessage.kt index 83969ed88..33e5744cd 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/websocket/CallOverallWebSocketMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/websocket/CallOverallWebSocketMessage.kt @@ -22,16 +22,15 @@ package com.nextcloud.talk.models.json.websocket import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class CallOverallWebSocketMessage( - @JsonField(name = ["type"]) var type: String? = null, - @JsonField(name = ["message"]) + @SerialName("message") var callWebSocketMessage: CallWebSocketMessage? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/websocket/CallWebSocketMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/websocket/CallWebSocketMessage.kt index 5156ac301..bad8419f2 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/websocket/CallWebSocketMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/websocket/CallWebSocketMessage.kt @@ -22,19 +22,19 @@ package com.nextcloud.talk.models.json.websocket import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.signaling.NCSignalingMessage import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class CallWebSocketMessage( - @JsonField(name = ["recipient"]) + @SerialName("recipient") var recipientWebSocketMessage: ActorWebSocketMessage? = null, - @JsonField(name = ["sender"]) + @SerialName("sender") var senderWebSocketMessage: ActorWebSocketMessage? = null, - @JsonField(name = ["data"]) + @SerialName("data") var ncSignalingMessage: NCSignalingMessage? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/websocket/ErrorOverallWebSocketMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/websocket/ErrorOverallWebSocketMessage.kt index 17eb4637a..038f4ddc1 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/websocket/ErrorOverallWebSocketMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/websocket/ErrorOverallWebSocketMessage.kt @@ -22,16 +22,15 @@ package com.nextcloud.talk.models.json.websocket import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ErrorOverallWebSocketMessage( - @JsonField(name = ["type"]) var type: String? = null, - @JsonField(name = ["error"]) + @SerialName("error") var errorWebSocketMessage: ErrorWebSocketMessage? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/websocket/ErrorWebSocketMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/websocket/ErrorWebSocketMessage.kt index a158e9b89..224349990 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/websocket/ErrorWebSocketMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/websocket/ErrorWebSocketMessage.kt @@ -22,16 +22,14 @@ package com.nextcloud.talk.models.json.websocket import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ErrorWebSocketMessage( - @JsonField(name = ["code"]) var code: String? = null, - @JsonField(name = ["message"]) var message: String? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/websocket/EventOverallWebSocketMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/websocket/EventOverallWebSocketMessage.kt index f2ef0a122..cf0d0d425 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/websocket/EventOverallWebSocketMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/websocket/EventOverallWebSocketMessage.kt @@ -22,21 +22,21 @@ package com.nextcloud.talk.models.json.websocket import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.AnyParceler import kotlinx.parcelize.Parcelize import kotlinx.parcelize.TypeParceler import java.util.HashMap @Parcelize -@JsonObject +@Serializable @TypeParceler class EventOverallWebSocketMessage( - @JsonField(name = ["type"]) var type: String? = null, - @JsonField(name = ["event"]) - var eventMap: HashMap? = null + @SerialName("event") + // TODO: replaced HashMap with HashMap this might be a problem?! + var eventMap: HashMap? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' constructor() : this(null, null) diff --git a/app/src/main/java/com/nextcloud/talk/models/json/websocket/HelloOverallWebSocketMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/websocket/HelloOverallWebSocketMessage.kt index b0a1e1767..866ad81d7 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/websocket/HelloOverallWebSocketMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/websocket/HelloOverallWebSocketMessage.kt @@ -22,16 +22,15 @@ package com.nextcloud.talk.models.json.websocket import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class HelloOverallWebSocketMessage( - @JsonField(name = ["type"]) var type: String? = null, - @JsonField(name = ["hello"]) + @SerialName("hello") var helloWebSocketMessage: HelloWebSocketMessage? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/websocket/HelloResponseOverallWebSocketMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/websocket/HelloResponseOverallWebSocketMessage.kt index 2036f4752..d7008d68e 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/websocket/HelloResponseOverallWebSocketMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/websocket/HelloResponseOverallWebSocketMessage.kt @@ -22,16 +22,15 @@ package com.nextcloud.talk.models.json.websocket import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class HelloResponseOverallWebSocketMessage( - @JsonField(name = ["type"]) var type: String? = null, - @JsonField(name = ["hello"]) + @SerialName("hello") var helloResponseWebSocketMessage: HelloResponseWebSocketMessage? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/websocket/HelloResponseWebSocketMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/websocket/HelloResponseWebSocketMessage.kt index edd9b6128..8c4798885 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/websocket/HelloResponseWebSocketMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/websocket/HelloResponseWebSocketMessage.kt @@ -22,18 +22,18 @@ package com.nextcloud.talk.models.json.websocket import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class HelloResponseWebSocketMessage( - @JsonField(name = ["resumeid"]) + @SerialName("resumeid") var resumeId: String? = null, - @JsonField(name = ["sessionid"]) + @SerialName("sessionid") var sessionId: String? = null, - @JsonField(name = ["server"]) + @SerialName("server") var serverHelloResponseFeaturesWebSocketMessage: ServerHelloResponseFeaturesWebSocketMessage? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/websocket/HelloWebSocketMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/websocket/HelloWebSocketMessage.kt index 1e3b3f3b4..4efb4715d 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/websocket/HelloWebSocketMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/websocket/HelloWebSocketMessage.kt @@ -22,18 +22,18 @@ package com.nextcloud.talk.models.json.websocket import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class HelloWebSocketMessage( - @JsonField(name = ["version"]) + @SerialName("version") var version: String? = null, - @JsonField(name = ["resumeid"]) + @SerialName("resumeid") var resumeid: String? = null, - @JsonField(name = ["auth"]) + @SerialName("auth") var authWebSocketMessage: AuthWebSocketMessage? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/websocket/JoinedRoomOverallWebSocketMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/websocket/JoinedRoomOverallWebSocketMessage.kt index 68c335caf..68266d945 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/websocket/JoinedRoomOverallWebSocketMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/websocket/JoinedRoomOverallWebSocketMessage.kt @@ -22,16 +22,15 @@ package com.nextcloud.talk.models.json.websocket import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class JoinedRoomOverallWebSocketMessage( - @JsonField(name = ["type"]) var type: String? = null, - @JsonField(name = ["room"]) + @SerialName("room") var roomWebSocketMessage: RoomWebSocketMessage? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/websocket/RoomOverallWebSocketMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/websocket/RoomOverallWebSocketMessage.kt index 94b54a269..5a04b4b42 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/websocket/RoomOverallWebSocketMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/websocket/RoomOverallWebSocketMessage.kt @@ -22,16 +22,15 @@ package com.nextcloud.talk.models.json.websocket import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable class RoomOverallWebSocketMessage( - @JsonField(name = ["type"]) var type: String? = null, - @JsonField(name = ["room"]) + @SerialName("room") var roomWebSocketMessage: RoomWebSocketMessage? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/websocket/RoomPropertiesWebSocketMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/websocket/RoomPropertiesWebSocketMessage.kt index bb8d282a0..e8fb5c71c 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/websocket/RoomPropertiesWebSocketMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/websocket/RoomPropertiesWebSocketMessage.kt @@ -22,18 +22,17 @@ package com.nextcloud.talk.models.json.websocket import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.conversations.Conversation.ConversationType import com.nextcloud.talk.models.json.converters.EnumRoomTypeConverter import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class RoomPropertiesWebSocketMessage( - @JsonField(name = ["name"]) var name: String? = null, - @JsonField(name = ["type"], typeConverter = EnumRoomTypeConverter::class) + @SerialName("type", typeConverter = EnumRoomTypeConverter::class) var roomType: ConversationType? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/websocket/RoomWebSocketMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/websocket/RoomWebSocketMessage.kt index a82a0fc51..0e78af67b 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/websocket/RoomWebSocketMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/websocket/RoomWebSocketMessage.kt @@ -22,18 +22,18 @@ package com.nextcloud.talk.models.json.websocket import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable class RoomWebSocketMessage( - @JsonField(name = ["roomid"]) + @SerialName("roomid") var roomId: String? = null, - @JsonField(name = ["sessionid"]) + @SerialName("sessionid") var sessionId: String? = null, - @JsonField(name = ["properties"]) + @SerialName("properties") var roomPropertiesWebSocketMessage: RoomPropertiesWebSocketMessage? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/models/json/websocket/ServerHelloResponseFeaturesWebSocketMessage.kt b/app/src/main/java/com/nextcloud/talk/models/json/websocket/ServerHelloResponseFeaturesWebSocketMessage.kt index 7fa4ca2b3..73d91f82e 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/websocket/ServerHelloResponseFeaturesWebSocketMessage.kt +++ b/app/src/main/java/com/nextcloud/talk/models/json/websocket/ServerHelloResponseFeaturesWebSocketMessage.kt @@ -22,14 +22,13 @@ package com.nextcloud.talk.models.json.websocket import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class ServerHelloResponseFeaturesWebSocketMessage( - @JsonField(name = ["features"]) var features: List? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' 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 336a81226..bbf21ce03 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 @@ -20,23 +20,23 @@ package com.nextcloud.talk.polls.repositories.model import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class PollDetailsResponse( - @JsonField(name = ["actorType"]) + @SerialName("actorType") var actorType: String? = null, - @JsonField(name = ["actorId"]) + @SerialName("actorId") var actorId: String, - @JsonField(name = ["actorDisplayName"]) + @SerialName("actorDisplayName") var actorDisplayName: String, - @JsonField(name = ["optionId"]) + @SerialName("optionId") var optionId: Int ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/polls/repositories/model/PollOCS.kt b/app/src/main/java/com/nextcloud/talk/polls/repositories/model/PollOCS.kt index cb691979d..c14746029 100644 --- a/app/src/main/java/com/nextcloud/talk/polls/repositories/model/PollOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/polls/repositories/model/PollOCS.kt @@ -20,14 +20,14 @@ package com.nextcloud.talk.polls.repositories.model import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class PollOCS( - @JsonField(name = ["data"]) + @SerialName("data") var data: PollResponse? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/polls/repositories/model/PollOverall.kt b/app/src/main/java/com/nextcloud/talk/polls/repositories/model/PollOverall.kt index f0b3f48b8..93795cbc3 100644 --- a/app/src/main/java/com/nextcloud/talk/polls/repositories/model/PollOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/polls/repositories/model/PollOverall.kt @@ -20,14 +20,14 @@ package com.nextcloud.talk.polls.repositories.model import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class PollOverall( - @JsonField(name = ["ocs"]) + @SerialName("ocs") var ocs: PollOCS? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' 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 948d8698c..9356a402e 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 @@ -20,50 +20,50 @@ package com.nextcloud.talk.polls.repositories.model import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class PollResponse( - @JsonField(name = ["id"]) + @SerialName("id") var id: String, - @JsonField(name = ["question"]) + @SerialName("question") var question: String? = null, - @JsonField(name = ["options"]) + @SerialName("options") var options: ArrayList? = null, - @JsonField(name = ["votes"]) + @SerialName("votes") var votes: Map? = null, - @JsonField(name = ["actorType"]) + @SerialName("actorType") var actorType: String? = null, - @JsonField(name = ["actorId"]) + @SerialName("actorId") var actorId: String? = null, - @JsonField(name = ["actorDisplayName"]) + @SerialName("actorDisplayName") var actorDisplayName: String? = null, - @JsonField(name = ["status"]) + @SerialName("status") var status: Int = 0, - @JsonField(name = ["resultMode"]) + @SerialName("resultMode") var resultMode: Int = 0, - @JsonField(name = ["maxVotes"]) + @SerialName("maxVotes") var maxVotes: Int = 0, - @JsonField(name = ["votedSelf"]) + @SerialName("votedSelf") var votedSelf: ArrayList? = null, - @JsonField(name = ["numVoters"]) + @SerialName("numVoters") var numVoters: Int = 0, - @JsonField(name = ["details"]) + @SerialName("details") var details: ArrayList? = null ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/translate/repositories/model/Language.kt b/app/src/main/java/com/nextcloud/talk/translate/repositories/model/Language.kt index 15287dab2..ec346c81d 100644 --- a/app/src/main/java/com/nextcloud/talk/translate/repositories/model/Language.kt +++ b/app/src/main/java/com/nextcloud/talk/translate/repositories/model/Language.kt @@ -20,20 +20,16 @@ package com.nextcloud.talk.translate.repositories.model import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class Language( - @JsonField(name = ["from"]) var from: String?, - @JsonField(name = ["fromLabel"]) var fromLabel: String?, - @JsonField(name = ["to"]) var to: String?, - @JsonField(name = ["toLabel"]) var toLabel: String? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/translate/repositories/model/LanguagesData.kt b/app/src/main/java/com/nextcloud/talk/translate/repositories/model/LanguagesData.kt index 3cd2f2206..654114917 100644 --- a/app/src/main/java/com/nextcloud/talk/translate/repositories/model/LanguagesData.kt +++ b/app/src/main/java/com/nextcloud/talk/translate/repositories/model/LanguagesData.kt @@ -20,16 +20,14 @@ package com.nextcloud.talk.translate.repositories.model import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class LanguagesData( - @JsonField(name = ["languageDetection"]) var languageDetection: Boolean?, - @JsonField(name = ["languages"]) var languages: List? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/translate/repositories/model/LanguagesOCS.kt b/app/src/main/java/com/nextcloud/talk/translate/repositories/model/LanguagesOCS.kt index f8c88edd8..73d9d2726 100644 --- a/app/src/main/java/com/nextcloud/talk/translate/repositories/model/LanguagesOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/translate/repositories/model/LanguagesOCS.kt @@ -20,17 +20,15 @@ package com.nextcloud.talk.translate.repositories.model import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class LanguagesOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta?, - @JsonField(name = ["data"]) var data: LanguagesData? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/translate/repositories/model/LanguagesOverall.kt b/app/src/main/java/com/nextcloud/talk/translate/repositories/model/LanguagesOverall.kt index 1e8a35b90..be3830270 100644 --- a/app/src/main/java/com/nextcloud/talk/translate/repositories/model/LanguagesOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/translate/repositories/model/LanguagesOverall.kt @@ -20,14 +20,13 @@ package com.nextcloud.talk.translate.repositories.model import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable class LanguagesOverall( - @JsonField(name = ["ocs"]) var ocs: LanguagesOCS? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/translate/repositories/model/TranslateData.kt b/app/src/main/java/com/nextcloud/talk/translate/repositories/model/TranslateData.kt index 22bc1073d..26f30b6a3 100644 --- a/app/src/main/java/com/nextcloud/talk/translate/repositories/model/TranslateData.kt +++ b/app/src/main/java/com/nextcloud/talk/translate/repositories/model/TranslateData.kt @@ -20,16 +20,15 @@ package com.nextcloud.talk.translate.repositories.model import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class TranslateData( - @JsonField(name = ["text"]) var text: String?, - @JsonField(name = ["from"]) + @SerialName("from") var fromLanguage: String? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/translate/repositories/model/TranslateOCS.kt b/app/src/main/java/com/nextcloud/talk/translate/repositories/model/TranslateOCS.kt index 617eb20a1..068e6957d 100644 --- a/app/src/main/java/com/nextcloud/talk/translate/repositories/model/TranslateOCS.kt +++ b/app/src/main/java/com/nextcloud/talk/translate/repositories/model/TranslateOCS.kt @@ -20,17 +20,15 @@ package com.nextcloud.talk.translate.repositories.model import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import com.nextcloud.talk.models.json.generic.GenericMeta import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable data class TranslateOCS( - @JsonField(name = ["meta"]) var meta: GenericMeta?, - @JsonField(name = ["data"]) var data: TranslateData? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/translate/repositories/model/TranslationsOverall.kt b/app/src/main/java/com/nextcloud/talk/translate/repositories/model/TranslationsOverall.kt index 577c0e9ec..4e1430d22 100644 --- a/app/src/main/java/com/nextcloud/talk/translate/repositories/model/TranslationsOverall.kt +++ b/app/src/main/java/com/nextcloud/talk/translate/repositories/model/TranslationsOverall.kt @@ -20,14 +20,13 @@ package com.nextcloud.talk.translate.repositories.model import android.os.Parcelable -import com.bluelinelabs.logansquare.annotation.JsonField -import com.bluelinelabs.logansquare.annotation.JsonObject +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable import kotlinx.parcelize.Parcelize @Parcelize -@JsonObject +@Serializable class TranslationsOverall( - @JsonField(name = ["ocs"]) var ocs: TranslateOCS? ) : Parcelable { // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' diff --git a/app/src/main/java/com/nextcloud/talk/utils/NotificationUtils.kt b/app/src/main/java/com/nextcloud/talk/utils/NotificationUtils.kt index 82c987544..c9271a464 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/NotificationUtils.kt +++ b/app/src/main/java/com/nextcloud/talk/utils/NotificationUtils.kt @@ -318,17 +318,18 @@ object NotificationUtils { // Notification channel will not be available when starting the application for the first time. // Ringtone uris are required to register the notification channels -> get uri from preferences. } - return if (TextUtils.isEmpty(ringtonePreferencesString)) { - Uri.parse(defaultRingtoneUri) - } else { - try { - val ringtoneSettings = - LoganSquare.parse(ringtonePreferencesString, RingtoneSettings::class.java) - ringtoneSettings.ringtoneUri - } catch (exception: IOException) { - Uri.parse(defaultRingtoneUri) - } - } + // return if (TextUtils.isEmpty(ringtonePreferencesString)) { + // Uri.parse(defaultRingtoneUri) + // } else { + // try { + // val ringtoneSettings = + // LoganSquare.parse(ringtonePreferencesString, RingtoneSettings::class.java) + // ringtoneSettings.ringtoneUri + // } catch (exception: IOException) { + // Uri.parse(defaultRingtoneUri) + // } + // } + return Uri.parse(defaultRingtoneUri) } fun getCallRingtoneUri(context: Context, appPreferences: AppPreferences): Uri? { diff --git a/app/src/main/java/com/nextcloud/talk/webrtc/PeerConnectionWrapper.java b/app/src/main/java/com/nextcloud/talk/webrtc/PeerConnectionWrapper.java index 4c8196eb8..6b455cec0 100644 --- a/app/src/main/java/com/nextcloud/talk/webrtc/PeerConnectionWrapper.java +++ b/app/src/main/java/com/nextcloud/talk/webrtc/PeerConnectionWrapper.java @@ -429,10 +429,12 @@ public class PeerConnectionWrapper { String nick = null; if (dataChannelMessage.getPayload() instanceof String) { nick = (String) dataChannelMessage.getPayload(); - } else if (dataChannelMessage.getPayload() instanceof Map) { - Map payloadMap = (Map) dataChannelMessage.getPayload(); - nick = payloadMap.get("name"); } + // TODO: adapt payload type!!!!!!!!!!!!!! +// else if (dataChannelMessage.getPayload() instanceof Map) { +// Map payloadMap = (Map) dataChannelMessage.getPayload(); +// nick = payloadMap.get("name"); +// } if (nick != null) { dataChannelMessageNotifier.notifyNickChanged(nick); diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index f19603e4c..e45ce5c88 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -7,6 +7,9 @@ + + + @@ -82,6 +85,7 @@ + @@ -90,6 +94,7 @@ + @@ -137,6 +142,7 @@ + @@ -2303,6 +2309,21 @@ + + + + + + + + + + + + + + + @@ -3026,6 +3047,14 @@ + + + + + + + + @@ -3134,6 +3163,7 @@ + @@ -3171,6 +3201,11 @@ + + + + + @@ -3246,6 +3281,16 @@ + + + + + + + + + + @@ -3330,6 +3375,16 @@ + + + + + + + + + + @@ -3361,6 +3416,11 @@ + + + + + @@ -3384,6 +3444,7 @@ + @@ -3396,6 +3457,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -3414,6 +3495,7 @@ + @@ -3442,9 +3524,15 @@ + + + + + + @@ -3530,11 +3618,26 @@ + + + + + + + + + + + + + + + @@ -3560,6 +3663,11 @@ + + + + + @@ -3570,6 +3678,11 @@ + + + + +