From d0b4e17300ff277effd75a45226bf0d3b090133f Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 9 Apr 2020 10:52:14 +0200 Subject: [PATCH] display mms attachments at the conversations --- .../smsmessenger/adapters/ThreadAdapter.kt | 24 ++++++++++++++++++- .../main/res/layout/item_received_message.xml | 13 ++++++++-- app/src/main/res/layout/item_sent_message.xml | 13 ++++++++-- 3 files changed, 45 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt index 995e33a2..43a7754b 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ThreadAdapter.kt @@ -3,6 +3,12 @@ package com.simplemobiletools.smsmessenger.adapters import android.view.Menu import android.view.View import android.view.ViewGroup +import com.bumptech.glide.Glide +import com.bumptech.glide.load.engine.DiskCacheStrategy +import com.bumptech.glide.load.resource.bitmap.FitCenter +import com.bumptech.glide.load.resource.bitmap.RoundedCorners +import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions +import com.bumptech.glide.request.RequestOptions import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter import com.simplemobiletools.commons.dialogs.ConfirmationDialog import com.simplemobiletools.commons.extensions.* @@ -27,6 +33,8 @@ class ThreadAdapter( itemClick: (Any) -> Unit ) : MyRecyclerViewAdapter(activity, recyclerView, fastScroller, itemClick) { + private val roundedCornersRadius = resources.getDimension(R.dimen.normal_margin).toInt() + init { setupDragListener(true) } @@ -158,9 +166,23 @@ class ThreadAdapter( thread_message_body.setTextColor(textColor) } else { val background = context.getAdjustedPrimaryColor() - thread_message_wrapper.background.applyColorFilter(background.adjustAlpha(0.8f)) + thread_message_body.background.applyColorFilter(background.adjustAlpha(0.8f)) thread_message_body.setTextColor(background.getContrastColor()) } + + if (message.attachment != null) { + if (message.attachment.type.startsWith("image/")) { + val options = RequestOptions() + .diskCacheStrategy(DiskCacheStrategy.NONE) + .transform(FitCenter(), RoundedCorners(roundedCornersRadius)) + + Glide.with(context) + .load(message.attachment.uri) + .transition(DrawableTransitionOptions.withCrossFade()) + .apply(options) + .into(thread_message_image) + } + } } } diff --git a/app/src/main/res/layout/item_received_message.xml b/app/src/main/res/layout/item_received_message.xml index 78547f4a..fa274756 100644 --- a/app/src/main/res/layout/item_received_message.xml +++ b/app/src/main/res/layout/item_received_message.xml @@ -12,17 +12,26 @@ android:id="@+id/thread_message_wrapper" android:layout_width="0dp" android:layout_height="wrap_content" - android:background="@drawable/item_received_background" - android:padding="@dimen/activity_margin" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintWidth_percent="0.7"> + + diff --git a/app/src/main/res/layout/item_sent_message.xml b/app/src/main/res/layout/item_sent_message.xml index 2c99c75a..4a7cfe46 100644 --- a/app/src/main/res/layout/item_sent_message.xml +++ b/app/src/main/res/layout/item_sent_message.xml @@ -12,17 +12,26 @@ android:id="@+id/thread_message_wrapper" android:layout_width="0dp" android:layout_height="wrap_content" - android:background="@drawable/item_sent_background" - android:padding="@dimen/activity_margin" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintWidth_percent="0.7"> + +