View source of encrypted event

This commit is contained in:
Benoit Marty 2019-06-18 13:14:39 +02:00
parent 7fe662598b
commit 02f84a3b53
2 changed files with 8 additions and 4 deletions

View File

@ -19,7 +19,6 @@ package im.vector.matrix.android.api.session.room.timeline
import im.vector.matrix.android.api.session.events.model.Event
import im.vector.matrix.android.api.session.events.model.EventType
import im.vector.matrix.android.api.session.room.model.EventAnnotationsSummary
import im.vector.matrix.android.api.session.room.model.RoomMember
import im.vector.matrix.android.api.session.room.send.SendState

/**
@ -63,7 +62,8 @@ data class TimelineEvent(
return metadata[key] as T?
}

fun isEncrypted() : Boolean {
return EventType.ENCRYPTED == root.getClearType()
fun isEncrypted(): Boolean {
// warning: Do not use getClearType here
return EventType.ENCRYPTED == root.type
}
}

View File

@ -123,7 +123,11 @@ class MessageMenuViewModel(initialState: MessageMenuState) : VectorViewModel<Mes

this.add(SimpleAction(VIEW_SOURCE, R.string.view_source, R.drawable.ic_view_source, JSONObject(event.root.toContent()).toString(4)))
if (event.isEncrypted()) {
this.add(SimpleAction(VIEW_DECRYPTED_SOURCE, R.string.view_decrypted_source, R.drawable.ic_view_source, parcel.eventId))
val decryptedContent = event.root.mClearEvent?.toContent()?.let {
JSONObject(it).toString(4)
} ?: viewModelContext.activity.getString(R.string.encryption_information_decryption_error)

this.add(SimpleAction(VIEW_DECRYPTED_SOURCE, R.string.view_decrypted_source, R.drawable.ic_view_source, decryptedContent))
}
this.add(SimpleAction(ACTION_COPY_PERMALINK, R.string.permalink, R.drawable.ic_permalink, parcel.eventId))