From 947f59e81bbe6348063ec02689c06ae9317dd452 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Fri, 22 Oct 2021 16:02:33 -0400 Subject: [PATCH] Improve chat list multiselect animation performance. --- .../components/emoji/SimpleEmojiTextView.kt | 8 ++++++-- .../layout/conversation_list_item_view.xml | 20 ++----------------- 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/emoji/SimpleEmojiTextView.kt b/app/src/main/java/org/thoughtcrime/securesms/components/emoji/SimpleEmojiTextView.kt index df51cbdf7..ed0d9e9b3 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/components/emoji/SimpleEmojiTextView.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/components/emoji/SimpleEmojiTextView.kt @@ -5,6 +5,7 @@ import android.text.TextUtils import android.util.AttributeSet import androidx.appcompat.widget.AppCompatTextView import org.thoughtcrime.securesms.keyvalue.SignalStore +import org.thoughtcrime.securesms.util.ThrottledDebouncer import org.whispersystems.libsignal.util.guava.Optional open class SimpleEmojiTextView @JvmOverloads constructor( @@ -14,6 +15,7 @@ open class SimpleEmojiTextView @JvmOverloads constructor( ) : AppCompatTextView(context, attrs, defStyleAttr) { private var bufferType: BufferType? = null + private val sizeChangeDebouncer: ThrottledDebouncer = ThrottledDebouncer(200) override fun setText(text: CharSequence?, type: BufferType?) { bufferType = type @@ -44,8 +46,10 @@ open class SimpleEmojiTextView @JvmOverloads constructor( override fun onSizeChanged(width: Int, height: Int, oldWidth: Int, oldHeight: Int) { super.onSizeChanged(width, height, oldWidth, oldHeight) - if (width > 0 && oldWidth != width) { - setText(text, bufferType ?: BufferType.SPANNABLE) + sizeChangeDebouncer.publish { + if (width > 0 && oldWidth != width) { + setText(text, bufferType ?: BufferType.SPANNABLE) + } } } } diff --git a/app/src/main/res/layout/conversation_list_item_view.xml b/app/src/main/res/layout/conversation_list_item_view.xml index d6f3a3a70..0b1877993 100644 --- a/app/src/main/res/layout/conversation_list_item_view.xml +++ b/app/src/main/res/layout/conversation_list_item_view.xml @@ -67,7 +67,7 @@ android:fontFamily="sans-serif-medium" android:maxLines="1" android:textColor="@color/signal_text_primary" - app:layout_constraintEnd_toStartOf="@id/conversation_list_item_name_barrier" + app:layout_constraintEnd_toStartOf="@id/conversation_list_item_date" app:layout_constraintStart_toEndOf="@id/conversation_list_item_avatar" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_chainStyle="packed" @@ -96,7 +96,7 @@ android:lines="2" android:maxLines="2" android:textColor="@color/signal_text_secondary" - app:layout_constraintEnd_toStartOf="@id/conversation_list_item_summary_barrier" + app:layout_constraintEnd_toStartOf="@id/conversation_list_item_status_container" app:layout_constraintStart_toEndOf="@id/conversation_list_item_alert" app:layout_constraintTop_toBottomOf="@id/conversation_list_item_name" tools:text="I'll send those photos over to the Bugle ASAP." /> @@ -174,22 +174,6 @@ - - - -