Permalinks : add a parser to get data from permalink (userId, eventId...)

This commit is contained in:
ganfra
2018-12-19 19:08:30 +01:00
parent fdd4642cbb
commit 9b8800ec55
7 changed files with 80 additions and 11 deletions

View File

@ -9,6 +9,7 @@ import android.view.View
import android.view.ViewGroup
import im.vector.matrix.android.api.Matrix
import im.vector.matrix.android.api.MatrixCallback
import im.vector.matrix.android.api.permalinks.PermalinkParser
import im.vector.matrix.android.api.session.events.model.EnrichedEvent
import im.vector.matrix.android.api.session.events.model.Event
import im.vector.matrix.android.api.session.room.Room
@ -105,7 +106,8 @@ class RoomDetailFragment : RiotFragment(), TimelineEventController.Callback {
// TimelineEventController.Callback ************************************************************
override fun onUrlClicked(url: String) {
Timber.v("Url clicked: $url")
val permalinkData = PermalinkParser.parse(url)
Timber.v("Permalink data : $permalinkData")
}
}

View File

@ -3,8 +3,8 @@ package im.vector.riotredesign.features.home.room.detail.timeline
import android.view.View
import android.widget.ImageView
import android.widget.TextView
import im.vector.matrix.android.api.permalinks.MatrixURLSpan
import im.vector.matrix.android.api.permalinks.MatrixUrlLinkify
import im.vector.matrix.android.api.permalinks.MatrixPermalinkSpan
import im.vector.matrix.android.api.permalinks.MatrixLinkify
import im.vector.riotredesign.R
import im.vector.riotredesign.core.epoxy.KotlinModel
import im.vector.riotredesign.features.home.AvatarRenderer
@ -25,7 +25,7 @@ data class MessageItem(
override fun bind() {
messageView.text = message
MatrixUrlLinkify.addLinks(messageView, object : MatrixURLSpan.Callback {
MatrixLinkify.addLinks(messageView, object : MatrixPermalinkSpan.Callback {
override fun onUrlClicked(url: String) {
onUrlClickedListener?.invoke(url)
}