Add missing fields to location event content.
This commit is contained in:
parent
ede1fe39fc
commit
7993ff39a5
@ -0,0 +1,25 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 The Matrix.org Foundation C.I.C.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.matrix.android.sdk.api.session.room.model.message
|
||||||
|
|
||||||
|
import com.squareup.moshi.Json
|
||||||
|
import com.squareup.moshi.JsonClass
|
||||||
|
|
||||||
|
@JsonClass(generateAdapter = true)
|
||||||
|
data class LocationAsset(
|
||||||
|
@Json(name = "type") val type: LocationAssetType? = null
|
||||||
|
)
|
@ -0,0 +1,26 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2020 The Matrix.org Foundation C.I.C.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.matrix.android.sdk.api.session.room.model.message
|
||||||
|
|
||||||
|
import com.squareup.moshi.Json
|
||||||
|
import com.squareup.moshi.JsonClass
|
||||||
|
|
||||||
|
@JsonClass(generateAdapter = false)
|
||||||
|
enum class LocationAssetType {
|
||||||
|
@Json(name = "m.self")
|
||||||
|
SELF
|
||||||
|
}
|
@ -45,5 +45,19 @@ data class MessageLocationContent(
|
|||||||
@Json(name = "org.matrix.msc3488.location") val locationInfo: LocationInfo? = null,
|
@Json(name = "org.matrix.msc3488.location") val locationInfo: LocationInfo? = null,
|
||||||
|
|
||||||
@Json(name = "m.relates_to") override val relatesTo: RelationDefaultContent? = null,
|
@Json(name = "m.relates_to") override val relatesTo: RelationDefaultContent? = null,
|
||||||
@Json(name = "m.new_content") override val newContent: Content? = null
|
@Json(name = "m.new_content") override val newContent: Content? = null,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* m.asset defines a generic asset that can be used for location tracking but also in other places like inventories, geofencing, checkins/checkouts etc.
|
||||||
|
* It should contain a mandatory namespaced type key defining what particular asset is being referred to.
|
||||||
|
* For the purposes of user location tracking m.self should be used in order to avoid duplicating the mxid.
|
||||||
|
*/
|
||||||
|
@Json(name = "m.asset") val locationAsset: LocationAsset? = null,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Exact time that the data in the event refers to (milliseconds since the UNIX epoch)
|
||||||
|
*/
|
||||||
|
@Json(name = "org.matrix.msc3488.ts") val ts: Long? = null,
|
||||||
|
|
||||||
|
@Json(name = "org.matrix.msc1767.text") val text: String? = null
|
||||||
) : MessageContent
|
) : MessageContent
|
||||||
|
@ -32,6 +32,8 @@ import org.matrix.android.sdk.api.session.room.model.message.AudioInfo
|
|||||||
import org.matrix.android.sdk.api.session.room.model.message.AudioWaveformInfo
|
import org.matrix.android.sdk.api.session.room.model.message.AudioWaveformInfo
|
||||||
import org.matrix.android.sdk.api.session.room.model.message.FileInfo
|
import org.matrix.android.sdk.api.session.room.model.message.FileInfo
|
||||||
import org.matrix.android.sdk.api.session.room.model.message.ImageInfo
|
import org.matrix.android.sdk.api.session.room.model.message.ImageInfo
|
||||||
|
import org.matrix.android.sdk.api.session.room.model.message.LocationAsset
|
||||||
|
import org.matrix.android.sdk.api.session.room.model.message.LocationAssetType
|
||||||
import org.matrix.android.sdk.api.session.room.model.message.LocationInfo
|
import org.matrix.android.sdk.api.session.room.model.message.LocationInfo
|
||||||
import org.matrix.android.sdk.api.session.room.model.message.MessageAudioContent
|
import org.matrix.android.sdk.api.session.room.model.message.MessageAudioContent
|
||||||
import org.matrix.android.sdk.api.session.room.model.message.MessageContent
|
import org.matrix.android.sdk.api.session.room.model.message.MessageContent
|
||||||
@ -63,6 +65,7 @@ import org.matrix.android.sdk.internal.di.UserId
|
|||||||
import org.matrix.android.sdk.internal.session.content.ThumbnailExtractor
|
import org.matrix.android.sdk.internal.session.content.ThumbnailExtractor
|
||||||
import org.matrix.android.sdk.internal.session.permalinks.PermalinkFactory
|
import org.matrix.android.sdk.internal.session.permalinks.PermalinkFactory
|
||||||
import org.matrix.android.sdk.internal.session.room.send.pills.TextPillsUtils
|
import org.matrix.android.sdk.internal.session.room.send.pills.TextPillsUtils
|
||||||
|
import java.util.concurrent.TimeUnit
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -207,7 +210,12 @@ internal class LocalEchoEventFactory @Inject constructor(
|
|||||||
locationInfo = LocationInfo(
|
locationInfo = LocationInfo(
|
||||||
geoUri = geoUri,
|
geoUri = geoUri,
|
||||||
description = geoUri
|
description = geoUri
|
||||||
)
|
),
|
||||||
|
locationAsset = LocationAsset(
|
||||||
|
type = LocationAssetType.SELF
|
||||||
|
),
|
||||||
|
ts = TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis()),
|
||||||
|
text = geoUri
|
||||||
)
|
)
|
||||||
return createMessageEvent(roomId, content)
|
return createMessageEvent(roomId, content)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user