From d7b3836b5ccb6ea450d85cd35433cc3def424bd3 Mon Sep 17 00:00:00 2001 From: "CORP\\vdi" Date: Fri, 26 Apr 2024 13:08:33 -0600 Subject: [PATCH] Add trackerID to message card to allow cards to link to contacts. --- .../java/org/owntracks/android/model/messages/MessageCard.kt | 3 +++ .../android/net/http/HttpMessageProcessorEndpoint.kt | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/project/app/src/main/java/org/owntracks/android/model/messages/MessageCard.kt b/project/app/src/main/java/org/owntracks/android/model/messages/MessageCard.kt index 3a431a0233..ec8882618d 100644 --- a/project/app/src/main/java/org/owntracks/android/model/messages/MessageCard.kt +++ b/project/app/src/main/java/org/owntracks/android/model/messages/MessageCard.kt @@ -3,6 +3,7 @@ package org.owntracks.android.model.messages import androidx.databinding.Bindable import com.fasterxml.jackson.annotation.JsonIgnoreProperties import com.fasterxml.jackson.annotation.JsonInclude +import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.annotation.JsonSetter import com.fasterxml.jackson.annotation.JsonTypeInfo @@ -16,6 +17,8 @@ class MessageCard(private val messageWithId: MessageWithId = MessageWithRandomId @set:JsonSetter var face: String? = null + @JsonInclude(JsonInclude.Include.NON_NULL) @JsonProperty("tid") var trackerId: String? = null + override val baseTopicSuffix: String get() = BASETOPIC_SUFFIX diff --git a/project/app/src/main/java/org/owntracks/android/net/http/HttpMessageProcessorEndpoint.kt b/project/app/src/main/java/org/owntracks/android/net/http/HttpMessageProcessorEndpoint.kt index 75ae3b5927..30bd92a218 100644 --- a/project/app/src/main/java/org/owntracks/android/net/http/HttpMessageProcessorEndpoint.kt +++ b/project/app/src/main/java/org/owntracks/android/net/http/HttpMessageProcessorEndpoint.kt @@ -24,6 +24,7 @@ import org.owntracks.android.data.repos.EndpointStateRepo import org.owntracks.android.di.ApplicationScope import org.owntracks.android.di.CoroutineScopes import org.owntracks.android.model.messages.MessageBase +import org.owntracks.android.model.messages.MessageCard import org.owntracks.android.model.messages.MessageLocation import org.owntracks.android.net.CALeafCertMatchingHostnameVerifier import org.owntracks.android.net.MessageProcessorEndpoint @@ -235,6 +236,10 @@ class HttpMessageProcessorEndpoint( // Build pseudo topic based on tid if (message is MessageLocation) { message.topic = HTTPTOPIC + message.trackerId + } else if (message is MessageCard) { + message.topic = HTTPTOPIC + message.trackerId + } else { + message.topic = "NOKEY" } return message }