Merge pull request #3049 from vector-im/feature/bma/various_fixew
Be robust to Exception.
This commit is contained in:
commit
2045a164c1
@ -24,6 +24,7 @@ import dagger.assisted.Assisted
|
|||||||
import dagger.assisted.AssistedFactory
|
import dagger.assisted.AssistedFactory
|
||||||
import dagger.assisted.AssistedInject
|
import dagger.assisted.AssistedInject
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
|
import im.vector.app.core.error.ErrorFormatter
|
||||||
import im.vector.app.core.extensions.canReact
|
import im.vector.app.core.extensions.canReact
|
||||||
import im.vector.app.core.platform.EmptyViewEvents
|
import im.vector.app.core.platform.EmptyViewEvents
|
||||||
import im.vector.app.core.platform.VectorViewModel
|
import im.vector.app.core.platform.VectorViewModel
|
||||||
@ -65,6 +66,7 @@ class MessageActionsViewModel @AssistedInject constructor(@Assisted
|
|||||||
private val htmlCompressor: VectorHtmlCompressor,
|
private val htmlCompressor: VectorHtmlCompressor,
|
||||||
private val session: Session,
|
private val session: Session,
|
||||||
private val noticeEventFormatter: NoticeEventFormatter,
|
private val noticeEventFormatter: NoticeEventFormatter,
|
||||||
|
private val errorFormatter: ErrorFormatter,
|
||||||
private val stringProvider: StringProvider,
|
private val stringProvider: StringProvider,
|
||||||
private val pillsPostProcessorFactory: PillsPostProcessor.Factory,
|
private val pillsPostProcessorFactory: PillsPostProcessor.Factory,
|
||||||
private val vectorPreferences: VectorPreferences
|
private val vectorPreferences: VectorPreferences
|
||||||
@ -171,11 +173,11 @@ class MessageActionsViewModel @AssistedInject constructor(@Assisted
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun computeMessageBody(timelineEvent: TimelineEvent): CharSequence {
|
private fun computeMessageBody(timelineEvent: TimelineEvent): CharSequence {
|
||||||
|
return try {
|
||||||
if (timelineEvent.root.isRedacted()) {
|
if (timelineEvent.root.isRedacted()) {
|
||||||
return noticeEventFormatter.formatRedactedEvent(timelineEvent.root)
|
noticeEventFormatter.formatRedactedEvent(timelineEvent.root)
|
||||||
}
|
} else {
|
||||||
|
when (timelineEvent.root.getClearType()) {
|
||||||
return when (timelineEvent.root.getClearType()) {
|
|
||||||
EventType.MESSAGE,
|
EventType.MESSAGE,
|
||||||
EventType.STICKER -> {
|
EventType.STICKER -> {
|
||||||
val messageContent: MessageContent? = timelineEvent.getLastMessageContent()
|
val messageContent: MessageContent? = timelineEvent.getLastMessageContent()
|
||||||
@ -207,6 +209,10 @@ class MessageActionsViewModel @AssistedInject constructor(@Assisted
|
|||||||
noticeEventFormatter.format(timelineEvent)
|
noticeEventFormatter.format(timelineEvent)
|
||||||
}
|
}
|
||||||
else -> null
|
else -> null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (failure: Throwable) {
|
||||||
|
errorFormatter.toHumanReadable(failure)
|
||||||
} ?: ""
|
} ?: ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user