Fix sms messages

This commit is contained in:
andrew 2023-07-07 10:46:43 +09:30
parent e5b19d4ea4
commit d8b85768d2
2 changed files with 6 additions and 4 deletions

View File

@ -183,7 +183,7 @@ class MessageDetailActivity : PassphraseRequiredActionBarActivity() {
modifier = Modifier.verticalScroll(rememberScrollState()), modifier = Modifier.verticalScroll(rememberScrollState()),
verticalArrangement = Arrangement.spacedBy(16.dp) verticalArrangement = Arrangement.spacedBy(16.dp)
) { ) {
messageDetails.mmsRecord?.let { message -> messageDetails.record?.let { message ->
AndroidView( AndroidView(
modifier = Modifier.padding(horizontal = 32.dp), modifier = Modifier.padding(horizontal = 32.dp),
factory = { factory = {

View File

@ -20,6 +20,7 @@ data class TitledText(val title: String, val value: String)
data class MessageDetails( data class MessageDetails(
val attachments: List<Attachment> = emptyList(), val attachments: List<Attachment> = emptyList(),
val record: MessageRecord? = null,
val mmsRecord: MmsMessageRecord? = null, val mmsRecord: MmsMessageRecord? = null,
val sent: TitledText? = null, val sent: TitledText? = null,
val received: TitledText? = null, val received: TitledText? = null,
@ -38,13 +39,14 @@ class MessageDetailsViewModel @Inject constructor(
private val attachmentDb: AttachmentDatabase private val attachmentDb: AttachmentDatabase
): ViewModel() { ): ViewModel() {
fun setMessageRecord(value: MessageRecord?, error: String?) { fun setMessageRecord(record: MessageRecord?, error: String?) {
val mmsRecord = value as? MmsMessageRecord val mmsRecord = record as? MmsMessageRecord
val slides: List<Slide> = mmsRecord?.slideDeck?.thumbnailSlides?.toList() ?: emptyList() val slides: List<Slide> = mmsRecord?.slideDeck?.thumbnailSlides?.toList() ?: emptyList()
_details.value = value?.run { _details.value = record?.run {
MessageDetails( MessageDetails(
record = record,
mmsRecord = mmsRecord, mmsRecord = mmsRecord,
attachments = slides.map { Attachment(it, it.details) }, attachments = slides.map { Attachment(it, it.details) },
sent = dateSent.let(::Date).toString().let { TitledText("Sent:", it) }, sent = dateSent.let(::Date).toString().let { TitledText("Sent:", it) },