fix to load chat for old server version

With server version 23.0.12 it happened that the chat did not load because values were null. Now default values in json model are set (because that's easier than changing the entity).
Additionally a check was added in CallActivity that a callStartTime of 0 would not be used (but it should not be used anyway if it would be 0 because then capability should also not be available).

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
Marcel Hibbe 2024-09-16 16:45:53 +02:00
Родитель fd7e86d2b4
Коммит 3f06801e59
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: C793F8B59F43CE7B
2 изменённых файлов: 6 добавлений и 4 удалений

Просмотреть файл

@ -1744,7 +1744,9 @@ class CallActivity : CallBaseActivity() {
}
private fun startCallTimeCounter(callStartTime: Long?) {
if (callStartTime != null && hasSpreedFeatureCapability(
if (callStartTime != null &&
callStartTime != 0L &&
hasSpreedFeatureCapability(
conversationUser!!.capabilities!!.spreedCapability!!, SpreedFeatures.RECORDING_V1
)
) {

Просмотреть файл

@ -144,16 +144,16 @@ data class Conversation(
var callRecording: Int = 0,
@JsonField(name = ["avatarVersion"])
var avatarVersion: String? = null,
var avatarVersion: String? = "",
// 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."
// Instead, name it with "has" at the beginning: isCustomAvatar -> hasCustomAvatar
@JsonField(name = ["isCustomAvatar"])
var hasCustomAvatar: Boolean? = null,
var hasCustomAvatar: Boolean? = false,
@JsonField(name = ["callStartTime"])
var callStartTime: Long? = null,
var callStartTime: Long? = 0L,
@JsonField(name = ["recordingConsent"])
var recordingConsentRequired: Int = 0,