mirror of
https://github.com/oxen-io/session-android.git
synced 2025-04-30 19:30:47 +00:00
Cleanup ViewModel
This commit is contained in:
parent
d8b85768d2
commit
bbc9cdfeeb
@ -3,7 +3,6 @@ package org.thoughtcrime.securesms.conversation.v2
|
|||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
|
||||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||||
import org.session.libsession.messaging.sending_receiving.attachments.DatabaseAttachment
|
import org.session.libsession.messaging.sending_receiving.attachments.DatabaseAttachment
|
||||||
import org.session.libsession.utilities.Util
|
import org.session.libsession.utilities.Util
|
||||||
@ -11,6 +10,7 @@ import org.session.libsession.utilities.recipients.Recipient
|
|||||||
import org.thoughtcrime.securesms.database.AttachmentDatabase
|
import org.thoughtcrime.securesms.database.AttachmentDatabase
|
||||||
import org.thoughtcrime.securesms.database.model.MessageRecord
|
import org.thoughtcrime.securesms.database.model.MessageRecord
|
||||||
import org.thoughtcrime.securesms.database.model.MmsMessageRecord
|
import org.thoughtcrime.securesms.database.model.MmsMessageRecord
|
||||||
|
import org.thoughtcrime.securesms.mms.ImageSlide
|
||||||
import org.thoughtcrime.securesms.mms.Slide
|
import org.thoughtcrime.securesms.mms.Slide
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
@ -32,12 +32,14 @@ data class MessageDetails(
|
|||||||
data class Attachment(
|
data class Attachment(
|
||||||
val slide: Slide,
|
val slide: Slide,
|
||||||
val fileDetails: List<TitledText>
|
val fileDetails: List<TitledText>
|
||||||
)
|
) {
|
||||||
|
fun hasImage() = slide is ImageSlide
|
||||||
|
}
|
||||||
|
|
||||||
@HiltViewModel
|
@HiltViewModel
|
||||||
class MessageDetailsViewModel @Inject constructor(
|
class MessageDetailsViewModel @Inject constructor(
|
||||||
private val attachmentDb: AttachmentDatabase
|
private val attachmentDb: AttachmentDatabase
|
||||||
): ViewModel() {
|
) : ViewModel() {
|
||||||
|
|
||||||
fun setMessageRecord(record: MessageRecord?, error: String?) {
|
fun setMessageRecord(record: MessageRecord?, error: String?) {
|
||||||
val mmsRecord = record as? MmsMessageRecord
|
val mmsRecord = record as? MmsMessageRecord
|
||||||
@ -77,16 +79,13 @@ class MessageDetailsViewModel @Inject constructor(
|
|||||||
private fun AttachmentDatabase.duration(slide: Slide): String? =
|
private fun AttachmentDatabase.duration(slide: Slide): String? =
|
||||||
slide.takeIf { it.hasAudio() }
|
slide.takeIf { it.hasAudio() }
|
||||||
?.run { asAttachment() as? DatabaseAttachment }
|
?.run { asAttachment() as? DatabaseAttachment }
|
||||||
?.run {
|
?.run { getAttachmentAudioExtras(attachmentId)?.durationMs }
|
||||||
getAttachmentAudioExtras(attachmentId)
|
?.takeIf { it > 0 }
|
||||||
?.let { audioExtras ->
|
?.let {
|
||||||
audioExtras.durationMs.takeIf { it > 0 }?.let {
|
|
||||||
String.format(
|
String.format(
|
||||||
"%01d:%02d",
|
"%01d:%02d",
|
||||||
TimeUnit.MILLISECONDS.toMinutes(it),
|
TimeUnit.MILLISECONDS.toMinutes(it),
|
||||||
TimeUnit.MILLISECONDS.toSeconds(it) % 60
|
TimeUnit.MILLISECONDS.toSeconds(it) % 60
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user