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 <dev@mhibbe.de>
This commit is contained in:
Marcel Hibbe 2024-03-07 15:41:04 +01:00
parent 3d7a72f189
commit 50e5c17ad4
No known key found for this signature in database
GPG key ID: C793F8B59F43CE7B
152 changed files with 844 additions and 938 deletions

View file

@ -288,6 +288,8 @@ dependencies {
implementation 'androidx.core:core-ktx:1.12.0' 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 'junit:junit:4.13.2'
testImplementation 'org.mockito:mockito-core:5.10.0' testImplementation 'org.mockito:mockito-core:5.10.0'
androidTestImplementation 'org.mockito:mockito-android:5.10.0' androidTestImplementation 'org.mockito:mockito-android:5.10.0'

View file

@ -4629,7 +4629,7 @@ class ChatActivity :
when (recent.systemMessageType) { when (recent.systemMessageType) {
ChatMessage.SystemMessageType.CALL_STARTED -> { // add CallStartedMessage with id -2 ChatMessage.SystemMessageType.CALL_STARTED -> { // add CallStartedMessage with id -2
if (!callStarted) { if (!callStarted) {
val callStartedChatMessage = ChatMessage() val callStartedChatMessage = ChatMessage(token = "0")
callStartedChatMessage.jsonMessageId = CALL_STARTED_ID callStartedChatMessage.jsonMessageId = CALL_STARTED_ID
callStartedChatMessage.actorId = "-2" callStartedChatMessage.actorId = "-2"
val name = if (recent.actorDisplayName.isNullOrEmpty()) "Guest" else recent.actorDisplayName val name = if (recent.actorDisplayName.isNullOrEmpty()) "Guest" else recent.actorDisplayName

View file

@ -29,7 +29,7 @@ import at.bitfire.dav4jvm.property.GetContentType
import at.bitfire.dav4jvm.property.GetLastModified import at.bitfire.dav4jvm.property.GetLastModified
import at.bitfire.dav4jvm.property.ResourceType import at.bitfire.dav4jvm.property.ResourceType
import at.bitfire.dav4jvm.property.ResourceType.Companion.COLLECTION 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.NCEncrypted
import com.nextcloud.talk.components.filebrowser.models.properties.NCPermission import com.nextcloud.talk.components.filebrowser.models.properties.NCPermission
import com.nextcloud.talk.components.filebrowser.models.properties.NCPreview import com.nextcloud.talk.components.filebrowser.models.properties.NCPreview
@ -41,7 +41,7 @@ import kotlinx.parcelize.Parcelize
import java.io.File import java.io.File
@Parcelize @Parcelize
@JsonObject @Serializable
data class BrowserFile( data class BrowserFile(
var path: String? = null, var path: String? = null,
var displayName: String? = null, var displayName: String? = null,

View file

@ -23,6 +23,7 @@ import android.content.Context
import android.text.TextUtils import android.text.TextUtils
import android.util.Log import android.util.Log
import com.github.aurae.retrofit2.LoganSquareConverterFactory import com.github.aurae.retrofit2.LoganSquareConverterFactory
import com.jakewharton.retrofit2.converter.kotlinx.serialization.asConverterFactory
import com.nextcloud.talk.BuildConfig import com.nextcloud.talk.BuildConfig
import com.nextcloud.talk.R import com.nextcloud.talk.R
import com.nextcloud.talk.api.NcApi import com.nextcloud.talk.api.NcApi
@ -37,6 +38,7 @@ import com.nextcloud.talk.utils.ssl.TrustManager
import dagger.Module import dagger.Module
import dagger.Provides import dagger.Provides
import io.reactivex.schedulers.Schedulers import io.reactivex.schedulers.Schedulers
import kotlinx.serialization.json.Json
import okhttp3.Authenticator import okhttp3.Authenticator
import okhttp3.Cache import okhttp3.Cache
import okhttp3.Credentials.basic import okhttp3.Credentials.basic
@ -44,6 +46,7 @@ import okhttp3.Dispatcher
import okhttp3.Interceptor import okhttp3.Interceptor
import okhttp3.Interceptor.Chain import okhttp3.Interceptor.Chain
import okhttp3.JavaNetCookieJar import okhttp3.JavaNetCookieJar
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import okhttp3.Request import okhttp3.Request
import okhttp3.Response import okhttp3.Response
@ -100,11 +103,14 @@ class RestModule(private val context: Context) {
@Singleton @Singleton
@Provides @Provides
fun provideRetrofit(httpClient: OkHttpClient?): Retrofit { fun provideRetrofit(httpClient: OkHttpClient?): Retrofit {
val contentType = "application/json".toMediaType()
val retrofitBuilder = Retrofit.Builder() val retrofitBuilder = Retrofit.Builder()
.client(httpClient!!) .client(httpClient!!)
.baseUrl("https://nextcloud.com") .baseUrl("https://nextcloud.com")
.addCallAdapterFactory(RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io())) .addCallAdapterFactory(RxJava2CallAdapterFactory.createWithScheduler(Schedulers.io()))
.addConverterFactory(LoganSquareConverterFactory.create()) // .addConverterFactory(LoganSquareConverterFactory.create())
.addConverterFactory(Json.asConverterFactory(contentType));
return retrofitBuilder.build() return retrofitBuilder.build()
} }

View file

@ -26,9 +26,11 @@ import com.nextcloud.talk.models.json.capabilities.ServerVersion
import com.nextcloud.talk.models.json.push.PushConfigurationState import com.nextcloud.talk.models.json.push.PushConfigurationState
import com.nextcloud.talk.utils.ApiUtils import com.nextcloud.talk.utils.ApiUtils
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
import kotlinx.serialization.Serializable
import java.lang.Boolean.FALSE import java.lang.Boolean.FALSE
@Parcelize @Parcelize
@Serializable
data class User( data class User(
var id: Long? = null, var id: Long? = null,
var userId: String? = null, var userId: String? = null,

View file

@ -22,16 +22,16 @@
package com.nextcloud.talk.models package com.nextcloud.talk.models
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ExternalSignalingServer( data class ExternalSignalingServer(
@JsonField(name = ["externalSignalingServer"]) @SerialName("externalSignalingServer")
var externalSignalingServer: String? = null, var externalSignalingServer: String? = null,
@JsonField(name = ["externalSignalingTicket"]) @SerialName("externalSignalingTicket")
var externalSignalingTicket: String? = null var externalSignalingTicket: String? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -23,19 +23,19 @@ package com.nextcloud.talk.models
import android.net.Uri import android.net.Uri
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.converters.UriTypeConverter import com.nextcloud.talk.models.json.converters.UriTypeConverter
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class RingtoneSettings( data class RingtoneSettings(
@JsonField(name = ["ringtoneUri"], typeConverter = UriTypeConverter::class) @SerialName("ringtoneUri", typeConverter = UriTypeConverter::class)
var ringtoneUri: Uri? = null, // var ringtoneUri: Uri? = null,
@JsonField(name = ["ringtoneName"]) @SerialName("ringtoneName")
var ringtoneName: String? = null var ringtoneName: String? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'
constructor() : this(null, null) constructor() : this(null)
} }

View file

@ -24,17 +24,15 @@
package com.nextcloud.talk.models.json.autocomplete package com.nextcloud.talk.models.json.autocomplete
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class AutocompleteOCS( data class AutocompleteOCS(
@JsonField(name = ["meta"])
var meta: GenericMeta?, var meta: GenericMeta?,
@JsonField(name = ["data"])
var data: List<AutocompleteUser>? var data: List<AutocompleteUser>?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,14 +22,13 @@
package com.nextcloud.talk.models.json.autocomplete package com.nextcloud.talk.models.json.autocomplete
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class AutocompleteOverall( data class AutocompleteOverall(
@JsonField(name = ["ocs"])
var ocs: AutocompleteOCS? var ocs: AutocompleteOCS?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,18 +22,15 @@
package com.nextcloud.talk.models.json.autocomplete package com.nextcloud.talk.models.json.autocomplete
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class AutocompleteUser( data class AutocompleteUser(
@JsonField(name = ["id"])
var id: String?, var id: String?,
@JsonField(name = ["label"])
var label: String?, var label: String?,
@JsonField(name = ["source"])
var source: String? var source: String?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -24,26 +24,26 @@
package com.nextcloud.talk.models.json.capabilities package com.nextcloud.talk.models.json.capabilities
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class Capabilities( data class Capabilities(
@JsonField(name = ["core"]) @SerialName("core")
var coreCapability: CoreCapability?, var coreCapability: CoreCapability?,
@JsonField(name = ["spreed"]) @SerialName("spreed")
var spreedCapability: SpreedCapability?, var spreedCapability: SpreedCapability?,
@JsonField(name = ["notifications"]) @SerialName("notifications")
var notificationsCapability: NotificationsCapability?, var notificationsCapability: NotificationsCapability?,
@JsonField(name = ["theming"]) @SerialName("theming")
var themingCapability: ThemingCapability?, var themingCapability: ThemingCapability?,
@JsonField(name = ["external"]) @SerialName("external")
var externalCapability: HashMap<String, List<String>>?, var externalCapability: HashMap<String, List<String>>?,
@JsonField(name = ["provisioning_api"]) @SerialName("provisioning_api")
var provisioningCapability: ProvisioningCapability?, var provisioningCapability: ProvisioningCapability?,
@JsonField(name = ["user_status"]) @SerialName("user_status")
var userStatusCapability: UserStatusCapability? var userStatusCapability: UserStatusCapability?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,16 +22,16 @@
package com.nextcloud.talk.models.json.capabilities package com.nextcloud.talk.models.json.capabilities
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class CapabilitiesList( data class CapabilitiesList(
@JsonField(name = ["version"]) @SerialName("version")
var serverVersion: ServerVersion?, var serverVersion: ServerVersion?,
@JsonField(name = ["capabilities"]) @SerialName("capabilities")
var capabilities: Capabilities? var capabilities: Capabilities?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -24,17 +24,17 @@
package com.nextcloud.talk.models.json.capabilities package com.nextcloud.talk.models.json.capabilities
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class CapabilitiesOCS( data class CapabilitiesOCS(
@JsonField(name = ["meta"]) @SerialName("meta")
var meta: GenericMeta?, var meta: GenericMeta?,
@JsonField(name = ["data"]) @SerialName("data")
var data: CapabilitiesList? var data: CapabilitiesList?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,14 +22,14 @@
package com.nextcloud.talk.models.json.capabilities package com.nextcloud.talk.models.json.capabilities
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class CapabilitiesOverall( data class CapabilitiesOverall(
@JsonField(name = ["ocs"]) @SerialName("ocs")
var ocs: CapabilitiesOCS? = null var ocs: CapabilitiesOCS? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -20,22 +20,20 @@
package com.nextcloud.talk.models.json.capabilities package com.nextcloud.talk.models.json.capabilities
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject
import kotlinx.parcelize.Parcelize
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject
@Serializable @Serializable
data class CoreCapability( data class CoreCapability(
@JsonField(name = ["pollinterval"]) @SerialName("pollinterval")
var pollInterval: Int?, var pollInterval: Int?,
@JsonField(name = ["webdav-root"]) @SerialName("webdav-root")
var webdavRoot: String?, var webdavRoot: String?,
@JsonField(name = ["reference-api"]) @SerialName("reference-api")
var referenceApi: String?, var referenceApi: String?,
@JsonField(name = ["reference-regex"]) @SerialName("reference-regex")
var referenceRegex: String? var referenceRegex: String?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,16 +22,14 @@
package com.nextcloud.talk.models.json.capabilities package com.nextcloud.talk.models.json.capabilities
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject
import kotlinx.parcelize.Parcelize
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject
@Serializable @Serializable
data class NotificationsCapability( data class NotificationsCapability(
@JsonField(name = ["ocs-endpoints"]) @SerialName("ocs-endpoints")
var features: List<String>? var features: List<String>?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,16 +22,14 @@
package com.nextcloud.talk.models.json.capabilities package com.nextcloud.talk.models.json.capabilities
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject
import kotlinx.parcelize.Parcelize
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject
@Serializable @Serializable
data class ProvisioningCapability( data class ProvisioningCapability(
@JsonField(name = ["AccountPropertyScopesVersion"]) @SerialName("AccountPropertyScopesVersion")
var accountPropertyScopesVersion: Int? var accountPropertyScopesVersion: Int?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -24,17 +24,15 @@
package com.nextcloud.talk.models.json.capabilities package com.nextcloud.talk.models.json.capabilities
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class RoomCapabilitiesOCS( data class RoomCapabilitiesOCS(
@JsonField(name = ["meta"])
var meta: GenericMeta?, var meta: GenericMeta?,
@JsonField(name = ["data"])
var data: SpreedCapability? var data: SpreedCapability?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,14 +22,13 @@
package com.nextcloud.talk.models.json.capabilities package com.nextcloud.talk.models.json.capabilities
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class RoomCapabilitiesOverall( data class RoomCapabilitiesOverall(
@JsonField(name = ["ocs"])
var ocs: RoomCapabilitiesOCS? = null var ocs: RoomCapabilitiesOCS? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -20,20 +20,17 @@
package com.nextcloud.talk.models.json.capabilities package com.nextcloud.talk.models.json.capabilities
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ServerVersion( data class ServerVersion(
@JsonField(name = ["major"])
var major: Int = 0, var major: Int = 0,
@JsonField(name = ["minor"])
var minor: Int = 0, var minor: Int = 0,
@JsonField(name = ["micro"])
var micro: Int = 0, var micro: Int = 0,
@JsonField(name = ["string"]) @SerialName("string")
var versionString: String? = null var versionString: String? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,21 +22,19 @@
package com.nextcloud.talk.models.json.capabilities package com.nextcloud.talk.models.json.capabilities
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
import kotlinx.parcelize.RawValue import kotlinx.parcelize.RawValue
import kotlinx.serialization.Contextual import kotlinx.serialization.Contextual
import kotlinx.serialization.Serializable
@Parcelize @Parcelize
@JsonObject
@Serializable @Serializable
data class SpreedCapability( data class SpreedCapability(
@JsonField(name = ["features"]) @SerialName("features")
var features: List<String>?, var features: List<String>?,
@JsonField(name = ["config"]) @SerialName("config")
var config: HashMap< var config: HashMap<
String, String,
HashMap< HashMap<
@ -46,7 +44,7 @@ data class SpreedCapability(
Any Any
> >
>?, >?,
@JsonField(name = ["version"]) @SerialName("version")
var version: String var version: String
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,38 +22,31 @@
package com.nextcloud.talk.models.json.capabilities package com.nextcloud.talk.models.json.capabilities
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject
import kotlinx.parcelize.Parcelize
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject
@Serializable @Serializable
data class ThemingCapability( data class ThemingCapability(
@JsonField(name = ["name"])
var name: String?, var name: String?,
@JsonField(name = ["url"])
var url: String?, var url: String?,
@JsonField(name = ["slogan"])
var slogan: String?, var slogan: String?,
@JsonField(name = ["color"])
var color: String?, var color: String?,
@JsonField(name = ["color-text"]) @SerialName("color-text")
var colorText: String?, var colorText: String?,
@JsonField(name = ["color-element"]) @SerialName("color-element")
var colorElement: String?, var colorElement: String?,
@JsonField(name = ["color-element-bright"]) @SerialName("color-element-bright")
var colorElementBright: String?, var colorElementBright: String?,
@JsonField(name = ["color-element-dark"]) @SerialName("color-element-dark")
var colorElementDark: String?, var colorElementDark: String?,
@JsonField(name = ["logo"])
var logo: String?, var logo: String?,
@JsonField(name = ["background"]) @SerialName("background")
var background: String?, var background: String?,
@JsonField(name = ["background-plain"]) @SerialName("background-plain")
var backgroundPlain: Boolean?, var backgroundPlain: Boolean?,
@JsonField(name = ["background-default"]) @SerialName("background-default")
var backgroundDefault: Boolean? var backgroundDefault: Boolean?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,18 +22,15 @@
package com.nextcloud.talk.models.json.capabilities package com.nextcloud.talk.models.json.capabilities
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject
import kotlinx.parcelize.Parcelize
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject
@Serializable @Serializable
data class UserStatusCapability( data class UserStatusCapability(
@JsonField(name = ["enabled"])
var enabled: Boolean, var enabled: Boolean,
@JsonField(name = ["supports_emoji"]) @SerialName("supports_emoji")
var supportsEmoji: Boolean var supportsEmoji: Boolean
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -28,24 +28,26 @@ package com.nextcloud.talk.models.json.chat
import android.os.Parcelable import android.os.Parcelable
import android.text.TextUtils import android.text.TextUtils
import android.util.Log 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.JsonIgnore
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.R import com.nextcloud.talk.R
import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedApplication import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedApplication
import com.nextcloud.talk.data.user.model.User import com.nextcloud.talk.data.user.model.User
import com.nextcloud.talk.models.json.chat.ChatUtils.Companion.getParsedMessage 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.EnumSystemMessageTypeConverter
import com.nextcloud.talk.models.json.converters.KotlinxJodaTimeConverter
import com.nextcloud.talk.utils.ApiUtils import com.nextcloud.talk.utils.ApiUtils
import com.nextcloud.talk.utils.CapabilitiesUtil import com.nextcloud.talk.utils.CapabilitiesUtil
import com.stfalcon.chatkit.commons.models.IUser import com.stfalcon.chatkit.commons.models.IUser
import com.stfalcon.chatkit.commons.models.MessageContentType import com.stfalcon.chatkit.commons.models.MessageContentType
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
import kotlinx.serialization.Transient
import java.security.MessageDigest import java.security.MessageDigest
import java.util.Date import java.util.Date
@Parcelize @Parcelize
@JsonObject @Serializable
data class ChatMessage( data class ChatMessage(
@JsonIgnore @JsonIgnore
var isGrouped: Boolean = false, var isGrouped: Boolean = false,
@ -65,72 +67,74 @@ data class ChatMessage(
@JsonIgnore @JsonIgnore
var isDeleted: Boolean = false, var isDeleted: Boolean = false,
@JsonField(name = ["id"]) @SerialName("id")
var jsonMessageId: Int = 0, var jsonMessageId: Int = 0,
@JsonIgnore @JsonIgnore
var previousMessageId: Int = -1, var previousMessageId: Int = -1,
@JsonField(name = ["token"]) @SerialName("token")
var token: String? = null, var token: String = "",
// guests or users // guests or users
@JsonField(name = ["actorType"]) @SerialName("actorType")
var actorType: String? = null, var actorType: String? = null,
@JsonField(name = ["actorId"]) @SerialName("actorId")
var actorId: String? = null, var actorId: String? = null,
// send when crafting a message // send when crafting a message
@JsonField(name = ["actorDisplayName"]) @SerialName("actorDisplayName")
var actorDisplayName: String? = null, var actorDisplayName: String? = null,
@JsonField(name = ["timestamp"]) @SerialName("timestamp")
var timestamp: Long = 0, var timestamp: Long = 0,
// send when crafting a message, max 1000 lines // send when crafting a message, max 1000 lines
@JsonField(name = ["message"]) @SerialName("message")
var message: String? = null, var message: String? = null,
@JsonField(name = ["messageParameters"]) @SerialName("messageParameters")
var messageParameters: HashMap<String?, HashMap<String?, String?>>? = null, var messageParameters: HashMap<String?, HashMap<String?, String?>>? = null,
@JsonField(name = ["systemMessage"], typeConverter = EnumSystemMessageTypeConverter::class) @SerialName("systemMessage")
// @Serializable(with = EnumSystemMessageTypeConverter::class)
var systemMessageType: SystemMessageType? = null, var systemMessageType: SystemMessageType? = null,
@JsonField(name = ["isReplyable"]) @SerialName("isReplyable")
var replyable: Boolean = false, var replyable: Boolean = false,
@JsonField(name = ["parent"]) @SerialName("parent")
var parentMessage: ChatMessage? = null, var parentMessage: ChatMessage? = null,
@Transient
var readStatus: Enum<ReadStatus> = ReadStatus.NONE, var readStatus: Enum<ReadStatus> = ReadStatus.NONE,
@JsonField(name = ["messageType"]) @SerialName("messageType")
var messageType: String? = null, var messageType: String? = null,
@JsonField(name = ["reactions"]) @SerialName("reactions")
var reactions: LinkedHashMap<String, Int>? = null, var reactions: LinkedHashMap<String, Int>? = null,
@JsonField(name = ["reactionsSelf"]) @SerialName("reactionsSelf")
var reactionsSelf: ArrayList<String>? = null, var reactionsSelf: ArrayList<String>? = null,
@JsonField(name = ["expirationTimestamp"]) @SerialName("expirationTimestamp")
var expirationTimestamp: Int = 0, var expirationTimestamp: Int = 0,
@JsonField(name = ["markdown"]) @SerialName("markdown")
var renderMarkdown: Boolean? = null, var renderMarkdown: Boolean? = null,
@JsonField(name = ["lastEditActorDisplayName"]) @SerialName("lastEditActorDisplayName")
var lastEditActorDisplayName: String? = null, var lastEditActorDisplayName: String? = null,
@JsonField(name = ["lastEditActorId"]) @SerialName("lastEditActorId")
var lastEditActorId: String? = null, var lastEditActorId: String? = null,
@JsonField(name = ["lastEditActorType"]) @SerialName("lastEditActorType")
var lastEditActorType: String? = null, var lastEditActorType: String? = null,
@JsonField(name = ["lastEditTimestamp"]) @SerialName("lastEditTimestamp")
var lastEditTimestamp: Long = 0, var lastEditTimestamp: Long = 0,
var isDownloadingVoiceMessage: Boolean = false, var isDownloadingVoiceMessage: Boolean = false,

View file

@ -22,17 +22,17 @@
package com.nextcloud.talk.models.json.chat package com.nextcloud.talk.models.json.chat
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ChatOCS( data class ChatOCS(
@JsonField(name = ["meta"]) @SerialName("meta")
var meta: GenericMeta?, var meta: GenericMeta?,
@JsonField(name = ["data"]) @SerialName("data")
var data: List<ChatMessage>? = null var data: List<ChatMessage>? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,17 +22,17 @@
package com.nextcloud.talk.models.json.chat package com.nextcloud.talk.models.json.chat
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ChatOCSSingleMessage( data class ChatOCSSingleMessage(
@JsonField(name = ["meta"]) @SerialName("meta")
var meta: GenericMeta?, var meta: GenericMeta?,
@JsonField(name = ["data"]) @SerialName("data")
var data: ChatMessage? = null var data: ChatMessage? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,14 +22,14 @@
package com.nextcloud.talk.models.json.chat package com.nextcloud.talk.models.json.chat
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ChatOverall( data class ChatOverall(
@JsonField(name = ["ocs"]) @SerialName("ocs")
var ocs: ChatOCS? = null var ocs: ChatOCS? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,14 +22,14 @@
package com.nextcloud.talk.models.json.chat package com.nextcloud.talk.models.json.chat
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ChatOverallSingleMessage( data class ChatOverallSingleMessage(
@JsonField(name = ["ocs"]) @SerialName("ocs")
var ocs: ChatOCSSingleMessage? = null var ocs: ChatOCSSingleMessage? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,15 +22,15 @@
package com.nextcloud.talk.models.json.chat package com.nextcloud.talk.models.json.chat
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import java.util.HashMap import java.util.HashMap
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ChatShareOCS( data class ChatShareOCS(
@JsonField(name = ["data"]) @SerialName("data")
var data: HashMap<String, ChatMessage>? = null var data: HashMap<String, ChatMessage>? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,14 +22,14 @@
package com.nextcloud.talk.models.json.chat package com.nextcloud.talk.models.json.chat
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ChatShareOverall( data class ChatShareOverall(
@JsonField(name = ["ocs"]) @SerialName("ocs")
var ocs: ChatShareOCS? = null var ocs: ChatShareOCS? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,19 +22,19 @@
package com.nextcloud.talk.models.json.chat package com.nextcloud.talk.models.json.chat
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.AnyParceler import com.nextcloud.talk.models.json.AnyParceler
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
import kotlinx.parcelize.TypeParceler import kotlinx.parcelize.TypeParceler
import java.util.HashMap import java.util.HashMap
@Parcelize @Parcelize
@JsonObject @Serializable
@TypeParceler<Any, AnyParceler> @TypeParceler<Any, AnyParceler>
data class ChatShareOverviewOCS( data class ChatShareOverviewOCS(
@JsonField(name = ["data"]) @SerialName("data")
var data: HashMap<String, List<Any>>? = null var data: HashMap<String, List<ChatMessage>>? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'
constructor() : this(null) constructor() : this(null)

View file

@ -22,14 +22,14 @@
package com.nextcloud.talk.models.json.chat package com.nextcloud.talk.models.json.chat
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ChatShareOverviewOverall( data class ChatShareOverviewOverall(
@JsonField(name = ["ocs"]) @SerialName("ocs")
var ocs: ChatShareOverviewOCS? = null var ocs: ChatShareOverviewOCS? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -26,8 +26,8 @@
package com.nextcloud.talk.models.json.conversations package com.nextcloud.talk.models.json.conversations
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.data.user.model.User import com.nextcloud.talk.data.user.model.User
import com.nextcloud.talk.models.domain.ConversationModel import com.nextcloud.talk.models.domain.ConversationModel
import com.nextcloud.talk.models.json.chat.ChatMessage import com.nextcloud.talk.models.json.chat.ChatMessage
@ -44,129 +44,126 @@ import com.nextcloud.talk.utils.CapabilitiesUtil
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class Conversation( data class Conversation(
@JsonField(name = ["id"]) @SerialName("id")
var roomId: String? = null, var roomId: String? = null,
@JsonField(name = ["token"]) @SerialName("token")
var token: String? = null, var token: String? = null,
@JsonField(name = ["name"]) @SerialName("name")
var name: String? = null, var name: String? = null,
@JsonField(name = ["displayName"]) @SerialName("displayName")
var displayName: String? = null, var displayName: String? = null,
@JsonField(name = ["description"]) @SerialName("description")
var description: String? = null, var description: String? = null,
@JsonField(name = ["type"], typeConverter = EnumRoomTypeConverter::class) @SerialName("type", typeConverter = EnumRoomTypeConverter::class)
var type: ConversationType? = null, var type: ConversationType? = null,
@JsonField(name = ["lastPing"]) @SerialName("lastPing")
var lastPing: Long = 0, var lastPing: Long = 0,
@JsonField(name = ["participantType"], typeConverter = EnumParticipantTypeConverter::class) @SerialName("participantType", typeConverter = EnumParticipantTypeConverter::class)
var participantType: ParticipantType? = null, var participantType: ParticipantType? = null,
@JsonField(name = ["hasPassword"]) @SerialName("hasPassword")
var hasPassword: Boolean = false, var hasPassword: Boolean = false,
@JsonField(name = ["sessionId"]) @SerialName("sessionId")
var sessionId: String? = null, var sessionId: String? = null,
@JsonField(name = ["actorId"]) @SerialName("actorId")
var actorId: String? = null, var actorId: String? = null,
@JsonField(name = ["actorType"]) @SerialName("actorType")
var actorType: String? = null, var actorType: String? = null,
var password: String? = null, var password: String? = null,
@JsonField(name = ["isFavorite"]) @SerialName("isFavorite")
var favorite: Boolean = false, var favorite: Boolean = false,
@JsonField(name = ["lastActivity"]) @SerialName("lastActivity")
var lastActivity: Long = 0, var lastActivity: Long = 0,
@JsonField(name = ["unreadMessages"]) @SerialName("unreadMessages")
var unreadMessages: Int = 0, var unreadMessages: Int = 0,
@JsonField(name = ["unreadMention"]) @SerialName("unreadMention")
var unreadMention: Boolean = false, var unreadMention: Boolean = false,
@JsonField(name = ["lastMessage"]) @SerialName("lastMessage")
var lastMessage: ChatMessage? = null, var lastMessage: ChatMessage? = null,
@JsonField(name = ["objectType"], typeConverter = ConversationObjectTypeConverter::class) @SerialName("objectType", typeConverter = ConversationObjectTypeConverter::class)
var objectType: ObjectType? = null, var objectType: ObjectType? = null,
@JsonField(name = ["notificationLevel"], typeConverter = EnumNotificationLevelConverter::class) @SerialName("notificationLevel", typeConverter = EnumNotificationLevelConverter::class)
var notificationLevel: NotificationLevel? = null, var notificationLevel: NotificationLevel? = null,
@JsonField(name = ["readOnly"], typeConverter = EnumReadOnlyConversationConverter::class) @SerialName("readOnly", typeConverter = EnumReadOnlyConversationConverter::class)
var conversationReadOnlyState: ConversationReadOnlyState? = null, var conversationReadOnlyState: ConversationReadOnlyState? = null,
@JsonField(name = ["lobbyState"], typeConverter = EnumLobbyStateConverter::class) @SerialName("lobbyState", typeConverter = EnumLobbyStateConverter::class)
var lobbyState: LobbyState? = null, var lobbyState: LobbyState? = null,
@JsonField(name = ["lobbyTimer"]) @SerialName("lobbyTimer")
var lobbyTimer: Long? = null, var lobbyTimer: Long? = null,
@JsonField(name = ["lastReadMessage"]) @SerialName("lastReadMessage")
var lastReadMessage: Int = 0, var lastReadMessage: Int = 0,
@JsonField(name = ["hasCall"]) @SerialName("hasCall")
var hasCall: Boolean = false, var hasCall: Boolean = false,
@JsonField(name = ["callFlag"]) @SerialName("callFlag")
var callFlag: Int = 0, var callFlag: Int = 0,
@JsonField(name = ["canStartCall"]) @SerialName("canStartCall")
var canStartCall: Boolean = false, var canStartCall: Boolean = false,
@JsonField(name = ["canLeaveConversation"]) @SerialName("canLeaveConversation")
var canLeaveConversation: Boolean? = null, var canLeaveConversation: Boolean? = null,
@JsonField(name = ["canDeleteConversation"]) @SerialName("canDeleteConversation")
var canDeleteConversation: Boolean? = null, var canDeleteConversation: Boolean? = null,
@JsonField(name = ["unreadMentionDirect"]) @SerialName("unreadMentionDirect")
var unreadMentionDirect: Boolean? = null, var unreadMentionDirect: Boolean? = null,
@JsonField(name = ["notificationCalls"]) @SerialName("notificationCalls")
var notificationCalls: Int? = null, var notificationCalls: Int? = null,
@JsonField(name = ["permissions"]) @SerialName("permissions")
var permissions: Int = 0, var permissions: Int = 0,
@JsonField(name = ["messageExpiration"]) @SerialName("messageExpiration")
var messageExpiration: Int = 0, var messageExpiration: Int = 0,
@JsonField(name = ["status"]) @SerialName("status")
var status: String? = null, var status: String? = null,
@JsonField(name = ["statusIcon"]) @SerialName("statusIcon")
var statusIcon: String? = null, var statusIcon: String? = null,
@JsonField(name = ["statusMessage"]) @SerialName("statusMessage")
var statusMessage: String? = null, var statusMessage: String? = null,
@JsonField(name = ["statusClearAt"]) @SerialName("statusClearAt")
var statusClearAt: Long? = 0, var statusClearAt: Long? = 0,
@JsonField(name = ["callRecording"]) @SerialName("callRecording")
var callRecording: Int = 0, var callRecording: Int = 0,
@JsonField(name = ["avatarVersion"]) @SerialName("avatarVersion")
var avatarVersion: String? = null, var avatarVersion: String? = null,
// Be aware that variables with "is" at the beginning will lead to the error: // 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 // Instead, name it with "has" at the beginning: isCustomAvatar -> hasCustomAvatar
@JsonField(name = ["isCustomAvatar"]) @SerialName("isCustomAvatar")
var hasCustomAvatar: Boolean? = null, var hasCustomAvatar: Boolean? = null,
@JsonField(name = ["callStartTime"])
var callStartTime: Long? = null, var callStartTime: Long? = null,
@JsonField(name = ["recordingConsent"]) @SerialName("recordingConsent")
var recordingConsentRequired: Int = 0, var recordingConsentRequired: Int = 0,
@JsonField(name = ["remoteServer"])
var remoteServer: String? = null, var remoteServer: String? = null,
@JsonField(name = ["remoteToken"])
var remoteToken: String? = null var remoteToken: String? = null
) : Parcelable { ) : Parcelable {

View file

@ -22,17 +22,15 @@
package com.nextcloud.talk.models.json.conversations package com.nextcloud.talk.models.json.conversations
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class RoomOCS( data class RoomOCS(
@JsonField(name = ["meta"])
var meta: GenericMeta?, var meta: GenericMeta?,
@JsonField(name = ["data"])
var data: Conversation? = null var data: Conversation? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,14 +22,13 @@
package com.nextcloud.talk.models.json.conversations package com.nextcloud.talk.models.json.conversations
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class RoomOverall( data class RoomOverall(
@JsonField(name = ["ocs"])
var ocs: RoomOCS? = null var ocs: RoomOCS? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,17 +22,15 @@
package com.nextcloud.talk.models.json.conversations package com.nextcloud.talk.models.json.conversations
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class RoomsOCS( data class RoomsOCS(
@JsonField(name = ["meta"])
var meta: GenericMeta?, var meta: GenericMeta?,
@JsonField(name = ["data"])
var data: List<Conversation>? = null var data: List<Conversation>? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,14 +22,14 @@
package com.nextcloud.talk.models.json.conversations package com.nextcloud.talk.models.json.conversations
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class RoomsOverall( data class RoomsOverall(
@JsonField(name = ["ocs"]) @SerialName("ocs")
var ocs: RoomsOCS? = null var ocs: RoomsOCS? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -21,14 +21,13 @@
package com.nextcloud.talk.models.json.conversations.password package com.nextcloud.talk.models.json.conversations.password
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@JsonObject @Serializable
@Parcelize @Parcelize
data class PasswordData( data class PasswordData(
@JsonField(name = ["message"])
var message: String? = null var message: String? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -21,18 +21,15 @@
package com.nextcloud.talk.models.json.conversations.password package com.nextcloud.talk.models.json.conversations.password
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class PasswordOCS( data class PasswordOCS(
@JsonField(name = ["meta"])
var meta: GenericMeta? = null, var meta: GenericMeta? = null,
@JsonField(name = ["data"])
var data: PasswordData? = null var data: PasswordData? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -21,14 +21,13 @@
package com.nextcloud.talk.models.json.conversations.password package com.nextcloud.talk.models.json.conversations.password
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class PasswordOverall( data class PasswordOverall(
@JsonField(name = ["ocs"])
var ocs: PasswordOCS? = null var ocs: PasswordOCS? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,18 +22,20 @@
package com.nextcloud.talk.models.json.generic package com.nextcloud.talk.models.json.generic
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
import kotlinx.serialization.SerialName
@Parcelize @Parcelize
@JsonObject(serializeNullObjects = true) // @Serializable(serializeNullObjects = true)
@Serializable
data class GenericMeta( data class GenericMeta(
@JsonField(name = ["status"]) @SerialName("status")
var status: String? = null, var status: String? = null,
@JsonField(name = ["statuscode"]) @SerialName("statuscode")
var statusCode: Int = 0, var statusCode: Int = 0,
@JsonField(name = ["message"]) @SerialName("message")
var message: String? = null var message: String? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,14 +22,14 @@
package com.nextcloud.talk.models.json.generic package com.nextcloud.talk.models.json.generic
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class GenericOCS( data class GenericOCS(
@JsonField(name = ["meta"]) @SerialName("meta")
var meta: GenericMeta? = null var meta: GenericMeta? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,14 +22,14 @@
package com.nextcloud.talk.models.json.generic package com.nextcloud.talk.models.json.generic
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class GenericOverall( data class GenericOverall(
@JsonField(name = ["ocs"]) @SerialName("ocs")
var ocs: GenericOCS? = null var ocs: GenericOCS? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,32 +22,32 @@
package com.nextcloud.talk.models.json.generic package com.nextcloud.talk.models.json.generic
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class Status( data class Status(
@JsonField(name = ["installed"]) @SerialName("installed")
var installed: Boolean = false, var installed: Boolean = false,
@JsonField(name = ["maintenance"]) @SerialName("maintenance")
var maintenance: Boolean = false, var maintenance: Boolean = false,
@JsonField(name = ["upgrade"]) @SerialName("upgrade")
var needsUpgrade: Boolean = false, var needsUpgrade: Boolean = false,
@JsonField(name = ["version"]) @SerialName("version")
var version: String? = null, var version: String? = null,
@JsonField(name = ["versionstring"]) @SerialName("versionstring")
var versionString: String? = null, var versionString: String? = null,
@JsonField(name = ["edition"]) @SerialName("edition")
var edition: String? = null, var edition: String? = null,
@JsonField(name = ["productname"]) @SerialName("productname")
var productName: String? = null var productName: String? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -20,18 +20,18 @@
package com.nextcloud.talk.models.json.hovercard package com.nextcloud.talk.models.json.hovercard
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class HoverCard( data class HoverCard(
@JsonField(name = ["userId"]) @SerialName("userId")
var userId: String?, var userId: String?,
@JsonField(name = ["displayName"]) @SerialName("displayName")
var displayName: String?, var displayName: String?,
@JsonField(name = ["actions"]) @SerialName("actions")
var actions: List<HoverCardAction>? var actions: List<HoverCardAction>?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -20,20 +20,20 @@
package com.nextcloud.talk.models.json.hovercard package com.nextcloud.talk.models.json.hovercard
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class HoverCardAction( data class HoverCardAction(
@JsonField(name = ["title"]) @SerialName("title")
var title: String?, var title: String?,
@JsonField(name = ["icon"]) @SerialName("icon")
var icon: String?, var icon: String?,
@JsonField(name = ["hyperlink"]) @SerialName("hyperlink")
var hyperlink: String?, var hyperlink: String?,
@JsonField(name = ["appId"]) @SerialName("appId")
var appId: String? var appId: String?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -23,17 +23,17 @@
package com.nextcloud.talk.models.json.hovercard package com.nextcloud.talk.models.json.hovercard
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class HoverCardOCS( data class HoverCardOCS(
@JsonField(name = ["meta"]) @SerialName("meta")
var meta: GenericMeta?, var meta: GenericMeta?,
@JsonField(name = ["data"]) @SerialName("data")
var data: HoverCard? var data: HoverCard?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -19,12 +19,11 @@
*/ */
package com.nextcloud.talk.models.json.hovercard package com.nextcloud.talk.models.json.hovercard
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
@JsonObject @Serializable
data class HoverCardOverall( data class HoverCardOverall(
@JsonField(name = ["ocs"])
var ocs: HoverCardOCS? var ocs: HoverCardOCS?
) { ) {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -20,34 +20,23 @@
package com.nextcloud.talk.models.json.invitation package com.nextcloud.talk.models.json.invitation
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class Invitation( data class Invitation(
@JsonField(name = ["id"])
var id: Int = 0, var id: Int = 0,
@JsonField(name = ["userId"])
var userId: String? = null, var userId: String? = null,
@JsonField(name = ["state"])
var state: Int = 0, var state: Int = 0,
@JsonField(name = ["localRoomId"])
var localRoomId: Int = 0, var localRoomId: Int = 0,
@JsonField(name = ["accessToken"])
var accessToken: String? = null, var accessToken: String? = null,
@JsonField(name = ["remoteServerUrl"])
var remoteServerUrl: String? = null, var remoteServerUrl: String? = null,
@JsonField(name = ["remoteToken"])
var remoteToken: String? = null, var remoteToken: String? = null,
@JsonField(name = ["remoteAttendeeId"])
var remoteAttendeeId: Int = 0, var remoteAttendeeId: Int = 0,
@JsonField(name = ["inviterCloudId"])
var inviterCloudId: String? = null, var inviterCloudId: String? = null,
@JsonField(name = ["inviterDisplayName"])
var inviterDisplayName: String? = null, var inviterDisplayName: String? = null,
@JsonField(name = ["roomName"])
var roomName: String? = null var roomName: String? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -20,17 +20,15 @@
package com.nextcloud.talk.models.json.invitation package com.nextcloud.talk.models.json.invitation
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class InvitationOCS( data class InvitationOCS(
@JsonField(name = ["meta"])
var meta: GenericMeta?, var meta: GenericMeta?,
@JsonField(name = ["data"])
var data: List<Invitation>? var data: List<Invitation>?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -20,14 +20,13 @@
package com.nextcloud.talk.models.json.invitation package com.nextcloud.talk.models.json.invitation
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class InvitationOverall( data class InvitationOverall(
@JsonField(name = ["ocs"])
var ocs: InvitationOCS? var ocs: InvitationOCS?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,25 +22,25 @@
package com.nextcloud.talk.models.json.mention package com.nextcloud.talk.models.json.mention
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class Mention( data class Mention(
@JsonField(name = ["id"]) @SerialName("id")
var id: String?, var id: String?,
@JsonField(name = ["label"]) @SerialName("label")
var label: String?, var label: String?,
// type of user (guests or users or calls) // type of user (guests or users or calls)
@JsonField(name = ["source"]) @SerialName("source")
var source: String?, var source: String?,
@JsonField(name = ["status"]) @SerialName("status")
var status: String?, var status: String?,
@JsonField(name = ["statusIcon"]) @SerialName("statusIcon")
var statusIcon: String?, var statusIcon: String?,
@JsonField(name = ["statusMessage"]) @SerialName("statusMessage")
var statusMessage: String? var statusMessage: String?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -24,17 +24,17 @@
package com.nextcloud.talk.models.json.mention package com.nextcloud.talk.models.json.mention
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class MentionOCS( data class MentionOCS(
@JsonField(name = ["meta"]) @SerialName("meta")
var meta: GenericMeta?, var meta: GenericMeta?,
@JsonField(name = ["data"]) @SerialName("data")
var data: List<Mention>? var data: List<Mention>?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,14 +22,13 @@
package com.nextcloud.talk.models.json.mention package com.nextcloud.talk.models.json.mention
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class MentionOverall( data class MentionOverall(
@JsonField(name = ["ocs"])
var ocs: MentionOCS? var ocs: MentionOCS?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,44 +22,34 @@
package com.nextcloud.talk.models.json.notifications package com.nextcloud.talk.models.json.notifications
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import com.nextcloud.talk.models.json.converters.KotlinxJodaTimeConverter
import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.converters.LoganSquareJodaTimeConverter import com.nextcloud.talk.models.json.converters.LoganSquareJodaTimeConverter
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
import org.joda.time.DateTime import org.joda.time.DateTime
@Parcelize @Parcelize
@JsonObject @Serializable
data class Notification( data class Notification(
@JsonField(name = ["icon"])
var icon: String?, var icon: String?,
@JsonField(name = ["notification_id"]) @SerialName("notification_id")
var notificationId: Int?, var notificationId: Int?,
@JsonField(name = ["app"])
var app: String?, var app: String?,
@JsonField(name = ["user"])
var user: String?, var user: String?,
@JsonField(name = ["datetime"], typeConverter = LoganSquareJodaTimeConverter::class) @Serializable(with = KotlinxJodaTimeConverter::class)
var datetime: DateTime?, var datetime: DateTime?,
@JsonField(name = ["object_type"]) @SerialName("object_type")
var objectType: String?, var objectType: String?,
@JsonField(name = ["object_id"]) @SerialName("object_id")
var objectId: String?, var objectId: String?,
@JsonField(name = ["subject"])
var subject: String?, var subject: String?,
@JsonField(name = ["subjectRich"])
var subjectRich: String?, var subjectRich: String?,
@JsonField(name = ["subjectRichParameters"])
var subjectRichParameters: HashMap<String, HashMap<String, String>>?, var subjectRichParameters: HashMap<String, HashMap<String, String>>?,
@JsonField(name = ["message"])
var message: String?, var message: String?,
@JsonField(name = ["messageRich"])
var messageRich: String?, var messageRich: String?,
@JsonField(name = ["messageRichParameters"])
var messageRichParameters: HashMap<String?, HashMap<String?, String?>>?, var messageRichParameters: HashMap<String?, HashMap<String?, String?>>?,
@JsonField(name = ["link"])
var link: String?, var link: String?,
@JsonField(name = ["actions"])
var actions: List<NotificationAction>? var actions: List<NotificationAction>?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,20 +22,16 @@
package com.nextcloud.talk.models.json.notifications package com.nextcloud.talk.models.json.notifications
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class NotificationAction( data class NotificationAction(
@JsonField(name = ["label"])
var label: String?, var label: String?,
@JsonField(name = ["link"])
var link: String?, var link: String?,
@JsonField(name = ["type"])
var type: String?, var type: String?,
@JsonField(name = ["primary"])
var primary: Boolean var primary: Boolean
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,17 +22,16 @@
package com.nextcloud.talk.models.json.notifications package com.nextcloud.talk.models.json.notifications
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class NotificationOCS( data class NotificationOCS(
@JsonField(name = ["meta"])
var meta: GenericMeta?, var meta: GenericMeta?,
@JsonField(name = ["data"]) @SerialName("data")
var notification: Notification? var notification: Notification?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -21,14 +21,13 @@
*/ */
package com.nextcloud.talk.models.json.notifications package com.nextcloud.talk.models.json.notifications
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
// see https://github.com/nextcloud/notifications/blob/master/docs/ocs-endpoint-v2.md // see https://github.com/nextcloud/notifications/blob/master/docs/ocs-endpoint-v2.md
@JsonObject @Serializable
data class NotificationOverall( data class NotificationOverall(
@JsonField(name = ["ocs"])
var ocs: NotificationOCS? var ocs: NotificationOCS?
) { ) {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,18 +22,16 @@
package com.nextcloud.talk.models.json.notifications package com.nextcloud.talk.models.json.notifications
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
class NotificationRichObject( class NotificationRichObject(
@JsonField(name = ["id"]) @SerialName("id")
var label: String?, var label: String?,
@JsonField(name = ["type"])
var type: String?, var type: String?,
@JsonField(name = ["name"])
var name: String? var name: String?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -24,17 +24,16 @@
package com.nextcloud.talk.models.json.notifications package com.nextcloud.talk.models.json.notifications
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
class NotificationsOCS( class NotificationsOCS(
@JsonField(name = ["meta"])
var meta: GenericMeta?, var meta: GenericMeta?,
@JsonField(name = ["data"]) @SerialName("data")
var notificationsList: List<Notification>? var notificationsList: List<Notification>?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -21,12 +21,11 @@
*/ */
package com.nextcloud.talk.models.json.notifications package com.nextcloud.talk.models.json.notifications
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
@JsonObject @Serializable
class NotificationsOverall( class NotificationsOverall(
@JsonField(name = ["ocs"])
var ocs: NotificationsOCS? var ocs: NotificationsOCS?
) { ) {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -20,17 +20,15 @@
package com.nextcloud.talk.models.json.opengraph package com.nextcloud.talk.models.json.opengraph
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class OpenGraphOCS( data class OpenGraphOCS(
@JsonField(name = ["meta"])
var meta: GenericMeta?, var meta: GenericMeta?,
@JsonField(name = ["data"])
var data: OpenGraphResponse? var data: OpenGraphResponse?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -20,22 +20,17 @@
package com.nextcloud.talk.models.json.opengraph package com.nextcloud.talk.models.json.opengraph
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class OpenGraphObject( data class OpenGraphObject(
@JsonField(name = ["id"])
var id: String, var id: String,
@JsonField(name = ["name"])
var name: String, var name: String,
@JsonField(name = ["description"])
var description: String? = null, var description: String? = null,
@JsonField(name = ["thumb"])
var thumb: String? = null, var thumb: String? = null,
@JsonField(name = ["link"])
var link: String? = null var link: String? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -20,14 +20,13 @@
package com.nextcloud.talk.models.json.opengraph package com.nextcloud.talk.models.json.opengraph
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class OpenGraphOverall( data class OpenGraphOverall(
@JsonField(name = ["ocs"])
var ocs: OpenGraphOCS? = null var ocs: OpenGraphOCS? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -20,14 +20,13 @@
package com.nextcloud.talk.models.json.opengraph package com.nextcloud.talk.models.json.opengraph
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class OpenGraphResponse( data class OpenGraphResponse(
@JsonField(name = ["references"])
var references: HashMap<String, Reference>? var references: HashMap<String, Reference>?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -20,20 +20,16 @@
package com.nextcloud.talk.models.json.opengraph package com.nextcloud.talk.models.json.opengraph
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class Reference( data class Reference(
@JsonField(name = ["richObjectType"])
var richObjectType: String? = null, var richObjectType: String? = null,
@JsonField(name = ["richObject"])
var richObject: RichObject? = null, var richObject: RichObject? = null,
@JsonField(name = ["openGraphObject"])
var openGraphObject: OpenGraphObject? = null, var openGraphObject: OpenGraphObject? = null,
@JsonField(name = ["accessible"])
var accessible: Boolean var accessible: Boolean
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -20,22 +20,17 @@
package com.nextcloud.talk.models.json.opengraph package com.nextcloud.talk.models.json.opengraph
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class RichObject( data class RichObject(
@JsonField(name = ["id"])
var id: String, var id: String,
@JsonField(name = ["name"])
var name: String, var name: String,
@JsonField(name = ["description"])
var description: String? = null, var description: String? = null,
@JsonField(name = ["thumb"])
var thumb: String? = null, var thumb: String? = null,
@JsonField(name = ["link"])
var link: String? = null var link: String? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,19 +22,17 @@
package com.nextcloud.talk.models.json.participants package com.nextcloud.talk.models.json.participants
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.conversations.Conversation import com.nextcloud.talk.models.json.conversations.Conversation
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class AddParticipantOCS( data class AddParticipantOCS(
@JsonField(name = ["meta"])
var meta: GenericMeta?, var meta: GenericMeta?,
/* Returned room will have only type set, and sometimes even that will be null */ /* Returned room will have only type set, and sometimes even that will be null */
@JsonField(name = ["data"])
var data: Conversation? = null var data: Conversation? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,15 +22,14 @@
package com.nextcloud.talk.models.json.participants package com.nextcloud.talk.models.json.participants
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.conversations.RoomsOCS import com.nextcloud.talk.models.json.conversations.RoomsOCS
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class AddParticipantOverall( data class AddParticipantOverall(
@JsonField(name = ["ocs"])
var ocs: RoomsOCS? = null var ocs: RoomsOCS? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,72 +22,51 @@
package com.nextcloud.talk.models.json.participants package com.nextcloud.talk.models.json.participants
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.converters.EnumActorTypeConverter import com.nextcloud.talk.models.json.converters.EnumActorTypeConverter
import com.nextcloud.talk.models.json.converters.EnumParticipantTypeConverter import com.nextcloud.talk.models.json.converters.EnumParticipantTypeConverter
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class Participant( data class Participant(
@JsonField(name = ["attendeeId"])
var attendeeId: Long? = null, var attendeeId: Long? = null,
@JsonField(name = ["actorType"], typeConverter = EnumActorTypeConverter::class) @SerialName("actorType"], typeConverter = EnumActorTypeConverter::class)
var actorType: ActorType? = null, var actorType: ActorType? = null,
@JsonField(name = ["actorId"])
var actorId: String? = null, var actorId: String? = null,
@JsonField(name = ["attendeePin"])
var attendeePin: String? = null, var attendeePin: String? = null,
@Deprecated("") @Deprecated("")
@JsonField(name = ["userId"])
var userId: String? = null, var userId: String? = null,
@JsonField(name = ["internal"])
var internal: Boolean? = null, var internal: Boolean? = null,
@JsonField(name = ["type", "participantType"], typeConverter = EnumParticipantTypeConverter::class) @SerialName("type", "participantType"], typeConverter = EnumParticipantTypeConverter::class)
var type: ParticipantType? = null, var type: ParticipantType? = null,
@Deprecated("") @Deprecated("")
@JsonField(name = ["name"])
var name: String? = null, var name: String? = null,
@JsonField(name = ["displayName"])
var displayName: String? = null, var displayName: String? = null,
@JsonField(name = ["lastPing"])
var lastPing: Long = 0, var lastPing: Long = 0,
@Deprecated("") @Deprecated("")
@JsonField(name = ["sessionId"])
var sessionId: String? = null, var sessionId: String? = null,
@JsonField(name = ["sessionIds"])
var sessionIds: ArrayList<String> = ArrayList(0), var sessionIds: ArrayList<String> = ArrayList(0),
@Deprecated("") @Deprecated("")
@JsonField(name = ["roomId"])
var roomId: Long = 0, var roomId: Long = 0,
@JsonField(name = ["inCall"])
var inCall: Long = 0, var inCall: Long = 0,
@JsonField(name = ["status"])
var status: String? = null, var status: String? = null,
@JsonField(name = ["statusIcon"])
var statusIcon: String? = null, var statusIcon: String? = null,
@JsonField(name = ["statusMessage"])
var statusMessage: String? = null, var statusMessage: String? = null,
var source: String? = null, var source: String? = null,
var selected: Boolean = false var selected: Boolean = false
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,17 +22,15 @@
package com.nextcloud.talk.models.json.participants package com.nextcloud.talk.models.json.participants
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ParticipantsOCS( data class ParticipantsOCS(
@JsonField(name = ["meta"])
var meta: GenericMeta?, var meta: GenericMeta?,
@JsonField(name = ["data"])
var data: List<Participant>? = null var data: List<Participant>? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,14 +22,13 @@
package com.nextcloud.talk.models.json.participants package com.nextcloud.talk.models.json.participants
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ParticipantsOverall( data class ParticipantsOverall(
@JsonField(name = ["ocs"])
var ocs: ParticipantsOCS? = null var ocs: ParticipantsOCS? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -20,39 +20,39 @@
package com.nextcloud.talk.models.json.push package com.nextcloud.talk.models.json.push
import android.os.Parcelable 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.JsonIgnore
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class DecryptedPushMessage( data class DecryptedPushMessage(
@JsonField(name = ["app"]) @SerialName("app")
var app: String?, var app: String?,
@JsonField(name = ["type"]) @SerialName("type")
var type: String?, var type: String?,
@JsonField(name = ["subject"]) @SerialName("subject")
var subject: String, var subject: String,
@JsonField(name = ["id"]) @SerialName("id")
var id: String?, var id: String?,
@JsonField(name = ["nid"]) @SerialName("nid")
var notificationId: Long?, var notificationId: Long?,
@JsonField(name = ["nids"]) @SerialName("nids")
var notificationIds: LongArray?, var notificationIds: LongArray?,
@JsonField(name = ["delete"]) @SerialName("delete")
var delete: Boolean, var delete: Boolean,
@JsonField(name = ["delete-all"]) @SerialName("delete-all")
var deleteAll: Boolean, var deleteAll: Boolean,
@JsonField(name = ["delete-multiple"]) @SerialName("delete-multiple")
var deleteMultiple: Boolean, var deleteMultiple: Boolean,
@JsonIgnore @JsonIgnore

View file

@ -22,20 +22,20 @@
package com.nextcloud.talk.models.json.push package com.nextcloud.talk.models.json.push
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class NotificationUser( data class NotificationUser(
@JsonField(name = ["type"]) @SerialName("type")
var type: String?, var type: String?,
@JsonField(name = ["id"]) @SerialName("id")
var id: String?, var id: String?,
@JsonField(name = ["name"]) @SerialName("name")
var name: String? var name: String?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,26 +22,26 @@
package com.nextcloud.talk.models.json.push package com.nextcloud.talk.models.json.push
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class PushConfigurationState( data class PushConfigurationState(
@JsonField(name = ["pushToken"]) @SerialName("pushToken")
var pushToken: String?, var pushToken: String?,
@JsonField(name = ["deviceIdentifier"]) @SerialName("deviceIdentifier")
var deviceIdentifier: String?, var deviceIdentifier: String?,
@JsonField(name = ["deviceIdentifierSignature"]) @SerialName("deviceIdentifierSignature")
var deviceIdentifierSignature: String?, var deviceIdentifierSignature: String?,
@JsonField(name = ["userPublicKey"]) @SerialName("userPublicKey")
var userPublicKey: String?, var userPublicKey: String?,
@JsonField(name = ["usesRegularPass"]) @SerialName("usesRegularPass")
var usesRegularPass: Boolean? var usesRegularPass: Boolean?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,20 +22,20 @@
package com.nextcloud.talk.models.json.push package com.nextcloud.talk.models.json.push
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.Serializable
import com.bluelinelabs.logansquare.annotation.JsonObject
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
import kotlinx.serialization.SerialName
@Parcelize @Parcelize
@JsonObject @Serializable
data class PushRegistration( data class PushRegistration(
@JsonField(name = ["publicKey"]) @SerialName("publicKey")
var publicKey: String?, var publicKey: String?,
@JsonField(name = ["deviceIdentifier"]) @SerialName("deviceIdentifier")
var deviceIdentifier: String?, var deviceIdentifier: String?,
@JsonField(name = ["signature"]) @SerialName("signature")
var signature: String? var signature: String?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,17 +22,17 @@
package com.nextcloud.talk.models.json.push package com.nextcloud.talk.models.json.push
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class PushRegistrationOCS( data class PushRegistrationOCS(
@JsonField(name = ["meta"]) @SerialName("meta")
var meta: GenericMeta?, var meta: GenericMeta?,
@JsonField(name = ["data"]) @SerialName("data")
var data: PushRegistration? var data: PushRegistration?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,14 +22,14 @@
package com.nextcloud.talk.models.json.push package com.nextcloud.talk.models.json.push
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class PushRegistrationOverall( data class PushRegistrationOverall(
@JsonField(name = ["ocs"]) @SerialName("ocs")
var ocs: PushRegistrationOCS? var ocs: PushRegistrationOCS?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -20,21 +20,18 @@
package com.nextcloud.talk.models.json.reactions package com.nextcloud.talk.models.json.reactions
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.converters.EnumReactionActorTypeConverter import com.nextcloud.talk.models.json.converters.EnumReactionActorTypeConverter
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ReactionVoter( data class ReactionVoter(
@JsonField(name = ["actorType"], typeConverter = EnumReactionActorTypeConverter::class) @SerialName("actorType", typeConverter = EnumReactionActorTypeConverter::class)
var actorType: ReactionActorType?, var actorType: ReactionActorType?,
@JsonField(name = ["actorId"])
var actorId: String?, var actorId: String?,
@JsonField(name = ["actorDisplayName"])
var actorDisplayName: String?, var actorDisplayName: String?,
@JsonField(name = ["timestamp"])
var timestamp: Long = 0 var timestamp: Long = 0
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,18 +22,16 @@
package com.nextcloud.talk.models.json.reactions package com.nextcloud.talk.models.json.reactions
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
import java.util.HashMap import java.util.HashMap
@Parcelize @Parcelize
@JsonObject @Serializable
data class ReactionsOCS( data class ReactionsOCS(
@JsonField(name = ["meta"])
var meta: GenericMeta?, var meta: GenericMeta?,
@JsonField(name = ["data"])
var data: HashMap<String, List<ReactionVoter>>? var data: HashMap<String, List<ReactionVoter>>?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -20,14 +20,13 @@
package com.nextcloud.talk.models.json.reactions package com.nextcloud.talk.models.json.reactions
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ReactionsOverall( data class ReactionsOverall(
@JsonField(name = ["ocs"])
var ocs: ReactionsOCS? var ocs: ReactionsOCS?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -20,20 +20,16 @@
package com.nextcloud.talk.models.json.reminder package com.nextcloud.talk.models.json.reminder
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class Reminder( data class Reminder(
@JsonField(name = ["userid"])
var userid: String? = null, var userid: String? = null,
@JsonField(name = ["token"])
var token: String? = null, var token: String? = null,
@JsonField(name = ["messageId"])
var messageId: Int? = null, var messageId: Int? = null,
@JsonField(name = ["timestamp"])
var timestamp: Int? = null var timestamp: Int? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -20,17 +20,15 @@
package com.nextcloud.talk.models.json.reminder package com.nextcloud.talk.models.json.reminder
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ReminderOCS( data class ReminderOCS(
@JsonField(name = ["meta"])
var meta: GenericMeta? = null, var meta: GenericMeta? = null,
@JsonField(name = ["data"])
var data: Reminder? = null var data: Reminder? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -20,14 +20,13 @@
package com.nextcloud.talk.models.json.reminder package com.nextcloud.talk.models.json.reminder
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ReminderOverall( data class ReminderOverall(
@JsonField(name = ["ocs"])
var ocs: ReminderOCS? = null var ocs: ReminderOCS? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,17 +22,16 @@
package com.nextcloud.talk.models.json.search package com.nextcloud.talk.models.json.search
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ContactsByNumberOCS( data class ContactsByNumberOCS(
@JsonField(name = ["meta"])
var meta: GenericMeta?, var meta: GenericMeta?,
@JsonField(name = ["data"]) @SerialName("data")
var map: Map<String, String>? = HashMap() var map: Map<String, String>? = HashMap()
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,14 +22,14 @@
package com.nextcloud.talk.models.json.search package com.nextcloud.talk.models.json.search
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ContactsByNumberOverall( data class ContactsByNumberOverall(
@JsonField(name = ["ocs"]) @SerialName("ocs")
var ocs: ContactsByNumberOCS? var ocs: ContactsByNumberOCS?
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,14 +22,14 @@
package com.nextcloud.talk.models.json.sharees package com.nextcloud.talk.models.json.sharees
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ExactSharees( data class ExactSharees(
@JsonField(name = ["users"]) @SerialName("users")
var exactSharees: List<Sharee>? = null var exactSharees: List<Sharee>? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,18 +22,18 @@
package com.nextcloud.talk.models.json.sharees package com.nextcloud.talk.models.json.sharees
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class Sharee( data class Sharee(
@JsonField(name = ["id"]) @SerialName("id")
var id: String? = null, var id: String? = null,
@JsonField(name = ["value"]) @SerialName("value")
var value: Value? = null, var value: Value? = null,
@JsonField(name = ["label"]) @SerialName("label")
var label: String? = null var label: String? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,17 +22,15 @@
package com.nextcloud.talk.models.json.sharees package com.nextcloud.talk.models.json.sharees
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ShareesOCS( data class ShareesOCS(
@JsonField(name = ["meta"])
var meta: GenericMeta?, var meta: GenericMeta?,
@JsonField(name = ["data"])
var data: SharesData? = null var data: SharesData? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,14 +22,13 @@
package com.nextcloud.talk.models.json.sharees package com.nextcloud.talk.models.json.sharees
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class ShareesOverall( data class ShareesOverall(
@JsonField(name = ["ocs"])
var ocs: ShareesOCS? = null var ocs: ShareesOCS? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,16 +22,15 @@
package com.nextcloud.talk.models.json.sharees package com.nextcloud.talk.models.json.sharees
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class SharesData( data class SharesData(
@JsonField(name = ["users"])
var users: List<Sharee>? = null, var users: List<Sharee>? = null,
@JsonField(name = ["exact"]) @SerialName("exact")
var exactUsers: ExactSharees? = null var exactUsers: ExactSharees? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,14 +22,14 @@
package com.nextcloud.talk.models.json.sharees package com.nextcloud.talk.models.json.sharees
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class Value( data class Value(
@JsonField(name = ["shareWith"]) @SerialName("shareWith")
var shareWith: String? = null var shareWith: String? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,24 +22,24 @@
package com.nextcloud.talk.models.json.signaling package com.nextcloud.talk.models.json.signaling
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.AnyParceler import com.nextcloud.talk.models.json.AnyParceler
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
import kotlinx.parcelize.TypeParceler import kotlinx.parcelize.TypeParceler
@Parcelize @Parcelize
@JsonObject @Serializable
@TypeParceler<Any?, AnyParceler> @TypeParceler<Any?, AnyParceler>
data class DataChannelMessage( data class DataChannelMessage(
@JsonField(name = ["type"])
var type: String? = null, var type: String? = null,
/** Can be String or Map<String, String> /** Can be String or Map<String, String>
* Use only for received messages */ * Use only for received messages */
@JsonField(name = ["payload"]) @SerialName("payload")
var payload: Any? = null, // TODO: Can be String or Map<String, String>
var payload: String? = null,
/** Use only to send messages */ /** Use only to send messages */
@JsonField(name = ["payload"]) // @SerialName("payload") // TODO: duplicated payload was intentional, see commit 68cf4ee0
var payloadMap: Map<String, String>? = null var payloadMap: Map<String, String>? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,18 +22,15 @@
package com.nextcloud.talk.models.json.signaling package com.nextcloud.talk.models.json.signaling
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class NCIceCandidate( data class NCIceCandidate(
@JsonField(name = ["sdpMLineIndex"])
var sdpMLineIndex: Int = 0, var sdpMLineIndex: Int = 0,
@JsonField(name = ["sdpMid"])
var sdpMid: String? = null, var sdpMid: String? = null,
@JsonField(name = ["candidate"])
var candidate: String? = null var candidate: String? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,28 +22,21 @@
package com.nextcloud.talk.models.json.signaling package com.nextcloud.talk.models.json.signaling
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class NCMessagePayload( data class NCMessagePayload(
@JsonField(name = ["type"])
var type: String? = null, var type: String? = null,
@JsonField(name = ["sdp"])
var sdp: String? = null, var sdp: String? = null,
@JsonField(name = ["nick"])
var nick: String? = null, var nick: String? = null,
@JsonField(name = ["candidate"]) @SerialName("candidate")
var iceCandidate: NCIceCandidate? = null, var iceCandidate: NCIceCandidate? = null,
@JsonField(name = ["name"])
var name: String? = null, var name: String? = null,
@JsonField(name = ["state"])
var state: Boolean? = null, var state: Boolean? = null,
@JsonField(name = ["timestamp"])
var timestamp: Long? = null, var timestamp: Long? = null,
@JsonField(name = ["reaction"])
var reaction: String? = null var reaction: String? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,26 +22,19 @@
package com.nextcloud.talk.models.json.signaling package com.nextcloud.talk.models.json.signaling
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
data class NCSignalingMessage( data class NCSignalingMessage(
@JsonField(name = ["from"])
var from: String? = null, var from: String? = null,
@JsonField(name = ["to"])
var to: String? = null, var to: String? = null,
@JsonField(name = ["type"])
var type: String? = null, var type: String? = null,
@JsonField(name = ["payload"])
var payload: NCMessagePayload? = null, var payload: NCMessagePayload? = null,
@JsonField(name = ["roomType"])
var roomType: String? = null, var roomType: String? = null,
@JsonField(name = ["sid"])
var sid: String? = null, var sid: String? = null,
@JsonField(name = ["prefix"])
var prefix: String? = null var prefix: String? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,21 +22,21 @@
package com.nextcloud.talk.models.json.signaling package com.nextcloud.talk.models.json.signaling
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.AnyParceler import com.nextcloud.talk.models.json.AnyParceler
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
import kotlinx.parcelize.TypeParceler import kotlinx.parcelize.TypeParceler
@Parcelize @Parcelize
@JsonObject @Serializable
@TypeParceler<Any?, AnyParceler> @TypeParceler<Any?, AnyParceler>
data class Signaling( data class Signaling(
@JsonField(name = ["type"])
var type: String? = null, var type: String? = null,
/** can be NCSignalingMessage (encoded as a String) or List<Map<String, Object>> */ /** can be NCSignalingMessage (encoded as a String) or List<Map<String, Object>> */
@JsonField(name = ["data"]) @SerialName("data")
var messageWrapper: Any? = null // TODO: can be NCSignalingMessage (encoded as a String) or List<Map<String, Object>>
var messageWrapper: NCSignalingMessage? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'
constructor() : this(null, null) constructor() : this(null, null)

View file

@ -22,17 +22,16 @@
package com.nextcloud.talk.models.json.signaling package com.nextcloud.talk.models.json.signaling
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
class SignalingOCS( class SignalingOCS(
@JsonField(name = ["meta"])
var meta: GenericMeta?, var meta: GenericMeta?,
@JsonField(name = ["data"]) @SerialName("data")
var signalings: List<Signaling>? = null var signalings: List<Signaling>? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,14 +22,13 @@
package com.nextcloud.talk.models.json.signaling package com.nextcloud.talk.models.json.signaling
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject @Serializable
class SignalingOverall( class SignalingOverall(
@JsonField(name = ["ocs"])
var ocs: SignalingOCS? = null var ocs: SignalingOCS? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

View file

@ -22,23 +22,17 @@
package com.nextcloud.talk.models.json.signaling.settings package com.nextcloud.talk.models.json.signaling.settings
import android.os.Parcelable import android.os.Parcelable
import com.bluelinelabs.logansquare.annotation.JsonField import kotlinx.serialization.SerialName
import com.bluelinelabs.logansquare.annotation.JsonObject
import kotlinx.parcelize.Parcelize
import kotlinx.serialization.Serializable import kotlinx.serialization.Serializable
import kotlinx.parcelize.Parcelize
@Parcelize @Parcelize
@JsonObject
@Serializable @Serializable
data class IceServer( data class IceServer(
@Deprecated("") @Deprecated("")
@JsonField(name = ["url"])
var url: String? = null, var url: String? = null,
@JsonField(name = ["urls"])
var urls: List<String>? = null, var urls: List<String>? = null,
@JsonField(name = ["username"])
var username: String? = null, var username: String? = null,
@JsonField(name = ["credential"])
var credential: String? = null var credential: String? = null
) : Parcelable { ) : Parcelable {
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject' // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

Some files were not shown because too many files have changed in this diff Show more