determine the message attachments size at fetching
This commit is contained in:
parent
81b12dea70
commit
7c355e9aae
|
@ -3,6 +3,7 @@ package com.simplemobiletools.smsmessenger.activities
|
||||||
import android.app.Activity
|
import android.app.Activity
|
||||||
import android.app.PendingIntent
|
import android.app.PendingIntent
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.graphics.BitmapFactory
|
||||||
import android.graphics.drawable.Drawable
|
import android.graphics.drawable.Drawable
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
@ -83,8 +84,29 @@ class ThreadActivity : SimpleActivity() {
|
||||||
} else {
|
} else {
|
||||||
messages.first().participants
|
messages.first().participants
|
||||||
}
|
}
|
||||||
setupAdapter()
|
|
||||||
|
|
||||||
|
messages.filter { it.attachment != null }.forEach {
|
||||||
|
it.attachment!!.attachments.forEach {
|
||||||
|
try {
|
||||||
|
val fileOptions = BitmapFactory.Options()
|
||||||
|
fileOptions.inJustDecodeBounds = true
|
||||||
|
BitmapFactory.decodeStream(contentResolver.openInputStream(it.uri), null, fileOptions)
|
||||||
|
it.width = fileOptions.outWidth
|
||||||
|
it.height = fileOptions.outHeight
|
||||||
|
|
||||||
|
if (it.width == -1) {
|
||||||
|
it.width = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
if (it.height == -1) {
|
||||||
|
it.height = 0
|
||||||
|
}
|
||||||
|
} catch (ignored: Exception) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
setupAdapter()
|
||||||
runOnUiThread {
|
runOnUiThread {
|
||||||
supportActionBar?.title = participants.getThreadTitle()
|
supportActionBar?.title = participants.getThreadTitle()
|
||||||
}
|
}
|
||||||
|
|
|
@ -227,7 +227,7 @@ fun Context.getMmsAttachment(id: Int): MessageAttachment? {
|
||||||
if (type == "text/plain") {
|
if (type == "text/plain") {
|
||||||
messageAttachment.text = cursor.getStringValue(Mms.Part.TEXT) ?: ""
|
messageAttachment.text = cursor.getStringValue(Mms.Part.TEXT) ?: ""
|
||||||
} else if (type.startsWith("image/") || type.startsWith("video/")) {
|
} else if (type.startsWith("image/") || type.startsWith("video/")) {
|
||||||
val attachment = Attachment(Uri.withAppendedPath(uri, partId), type)
|
val attachment = Attachment(Uri.withAppendedPath(uri, partId), type, 0, 0)
|
||||||
messageAttachment.attachments.add(attachment)
|
messageAttachment.attachments.add(attachment)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,4 +2,4 @@ package com.simplemobiletools.smsmessenger.models
|
||||||
|
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
|
||||||
data class Attachment(var uri: Uri, var type: String)
|
data class Attachment(var uri: Uri, var type: String, var width: Int, var height: Int)
|
||||||
|
|
|
@ -36,8 +36,8 @@
|
||||||
android:id="@+id/thread_message_play_outline"
|
android:id="@+id/thread_message_play_outline"
|
||||||
android:layout_width="@dimen/play_outline_size"
|
android:layout_width="@dimen/play_outline_size"
|
||||||
android:layout_height="@dimen/play_outline_size"
|
android:layout_height="@dimen/play_outline_size"
|
||||||
android:layout_alignEnd="@+id/thread_message_image"
|
android:layout_alignEnd="@+id/thread_mesage_attachments_holder"
|
||||||
android:layout_alignBottom="@+id/thread_message_image"
|
android:layout_alignBottom="@+id/thread_mesage_attachments_holder"
|
||||||
android:layout_margin="@dimen/medium_margin"
|
android:layout_margin="@dimen/medium_margin"
|
||||||
android:src="@drawable/ic_play_outline"
|
android:src="@drawable/ic_play_outline"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
android:id="@+id/thread_message_body"
|
android:id="@+id/thread_message_body"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_below="@+id/thread_message_image"
|
android:layout_below="@+id/thread_mesage_attachments_holder"
|
||||||
android:layout_toEndOf="@+id/thread_message_photo"
|
android:layout_toEndOf="@+id/thread_message_photo"
|
||||||
android:background="@drawable/item_received_background"
|
android:background="@drawable/item_received_background"
|
||||||
android:padding="@dimen/normal_margin"
|
android:padding="@dimen/normal_margin"
|
||||||
|
|
Loading…
Reference in New Issue