mirror of
https://github.com/nextcloud/talk-android
synced 2025-02-08 15:42:58 +00:00
Store federation properties in signaling settings
Starting with Talk 20 the signaling settings include a "federation" property that provide the values needed to join a federated room in the external signaling settings. The "federation" property is specific to each conversation, and it will be returned although empty for non-federated conversations. Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
This commit is contained in:
parent
327d1f7478
commit
6706bc2790
@ -1475,6 +1475,8 @@ class CallActivity : CallBaseActivity() {
|
||||
signalingSettingsOverall.ocs!!.settings!!.externalSignalingServer
|
||||
externalSignalingServer!!.externalSignalingTicket =
|
||||
signalingSettingsOverall.ocs!!.settings!!.externalSignalingTicket
|
||||
externalSignalingServer!!.federation =
|
||||
signalingSettingsOverall.ocs!!.settings!!.federation
|
||||
hasExternalSignalingServer = true
|
||||
} else {
|
||||
hasExternalSignalingServer = false
|
||||
|
@ -10,6 +10,7 @@ package com.nextcloud.talk.models
|
||||
import android.os.Parcelable
|
||||
import com.bluelinelabs.logansquare.annotation.JsonField
|
||||
import com.bluelinelabs.logansquare.annotation.JsonObject
|
||||
import com.nextcloud.talk.models.json.signaling.settings.FederationSettings
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
@Parcelize
|
||||
@ -18,8 +19,10 @@ data class ExternalSignalingServer(
|
||||
@JsonField(name = ["externalSignalingServer"])
|
||||
var externalSignalingServer: String? = null,
|
||||
@JsonField(name = ["externalSignalingTicket"])
|
||||
var externalSignalingTicket: String? = null
|
||||
var externalSignalingTicket: String? = null,
|
||||
@JsonField(name = ["federation"])
|
||||
var federation: FederationSettings? = null
|
||||
) : Parcelable {
|
||||
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'
|
||||
constructor() : this(null, null)
|
||||
constructor() : this(null, null, null)
|
||||
}
|
||||
|
@ -0,0 +1,24 @@
|
||||
/*
|
||||
* Nextcloud Talk - Android Client
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2024 Daniel Calviño Sánchez <danxuliu@gmail.com>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
package com.nextcloud.talk.models.json.signaling.settings
|
||||
|
||||
import android.os.Parcelable
|
||||
import com.bluelinelabs.logansquare.annotation.JsonField
|
||||
import com.bluelinelabs.logansquare.annotation.JsonObject
|
||||
import kotlinx.parcelize.Parcelize
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Parcelize
|
||||
@JsonObject
|
||||
@Serializable
|
||||
data class FederationHelloAuthParams(
|
||||
@JsonField(name = ["token"])
|
||||
var token: String? = null,
|
||||
) : Parcelable {
|
||||
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'
|
||||
constructor() : this(null)
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
/*
|
||||
* Nextcloud Talk - Android Client
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2024 Daniel Calviño Sánchez <danxuliu@gmail.com>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
package com.nextcloud.talk.models.json.signaling.settings
|
||||
|
||||
import android.os.Parcelable
|
||||
import com.bluelinelabs.logansquare.annotation.JsonField
|
||||
import com.bluelinelabs.logansquare.annotation.JsonObject
|
||||
import kotlinx.parcelize.Parcelize
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Parcelize
|
||||
@JsonObject
|
||||
@Serializable
|
||||
data class FederationSettings(
|
||||
@JsonField(name = ["server"])
|
||||
var server: String? = null,
|
||||
@JsonField(name = ["nextcloudServer"])
|
||||
var nextcloudServer: String? = null,
|
||||
@JsonField(name = ["helloAuthParams"])
|
||||
var helloAuthParams: FederationHelloAuthParams? = null,
|
||||
@JsonField(name = ["roomId"])
|
||||
var roomId: String? = null
|
||||
) : Parcelable {
|
||||
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'
|
||||
constructor() : this(null, null, null, null)
|
||||
}
|
@ -24,8 +24,10 @@ data class SignalingSettings(
|
||||
@JsonField(name = ["server"])
|
||||
var externalSignalingServer: String? = null,
|
||||
@JsonField(name = ["ticket"])
|
||||
var externalSignalingTicket: String? = null
|
||||
var externalSignalingTicket: String? = null,
|
||||
@JsonField(name = ["federation"])
|
||||
var federation: FederationSettings? = null
|
||||
) : Parcelable {
|
||||
// This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'
|
||||
constructor() : this(null, null, null)
|
||||
constructor() : this(null, null, null, null)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user