mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-19 03:29:28 +01: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
|
signalingSettingsOverall.ocs!!.settings!!.externalSignalingServer
|
||||||
externalSignalingServer!!.externalSignalingTicket =
|
externalSignalingServer!!.externalSignalingTicket =
|
||||||
signalingSettingsOverall.ocs!!.settings!!.externalSignalingTicket
|
signalingSettingsOverall.ocs!!.settings!!.externalSignalingTicket
|
||||||
|
externalSignalingServer!!.federation =
|
||||||
|
signalingSettingsOverall.ocs!!.settings!!.federation
|
||||||
hasExternalSignalingServer = true
|
hasExternalSignalingServer = true
|
||||||
} else {
|
} else {
|
||||||
hasExternalSignalingServer = false
|
hasExternalSignalingServer = false
|
||||||
|
@ -10,6 +10,7 @@ package com.nextcloud.talk.models
|
|||||||
import android.os.Parcelable
|
import android.os.Parcelable
|
||||||
import com.bluelinelabs.logansquare.annotation.JsonField
|
import com.bluelinelabs.logansquare.annotation.JsonField
|
||||||
import com.bluelinelabs.logansquare.annotation.JsonObject
|
import com.bluelinelabs.logansquare.annotation.JsonObject
|
||||||
|
import com.nextcloud.talk.models.json.signaling.settings.FederationSettings
|
||||||
import kotlinx.parcelize.Parcelize
|
import kotlinx.parcelize.Parcelize
|
||||||
|
|
||||||
@Parcelize
|
@Parcelize
|
||||||
@ -18,8 +19,10 @@ data class ExternalSignalingServer(
|
|||||||
@JsonField(name = ["externalSignalingServer"])
|
@JsonField(name = ["externalSignalingServer"])
|
||||||
var externalSignalingServer: String? = null,
|
var externalSignalingServer: String? = null,
|
||||||
@JsonField(name = ["externalSignalingTicket"])
|
@JsonField(name = ["externalSignalingTicket"])
|
||||||
var externalSignalingTicket: String? = null
|
var externalSignalingTicket: String? = null,
|
||||||
|
@JsonField(name = ["federation"])
|
||||||
|
var federation: FederationSettings? = 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, 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"])
|
@JsonField(name = ["server"])
|
||||||
var externalSignalingServer: String? = null,
|
var externalSignalingServer: String? = null,
|
||||||
@JsonField(name = ["ticket"])
|
@JsonField(name = ["ticket"])
|
||||||
var externalSignalingTicket: String? = null
|
var externalSignalingTicket: String? = null,
|
||||||
|
@JsonField(name = ["federation"])
|
||||||
|
var federation: FederationSettings? = 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, null)
|
constructor() : this(null, null, null, null)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user