From 3d2ceef47f5abac7802cddb4d25214b5565e2b51 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Mon, 6 Apr 2026 16:15:56 -0400 Subject: [PATCH] Don't let the date validator starve the chat search. --- .../securesms/conversation/v2/JumpToDateValidator.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/JumpToDateValidator.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/JumpToDateValidator.kt index ad10b5650c..4187032070 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/JumpToDateValidator.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/JumpToDateValidator.kt @@ -9,6 +9,7 @@ import com.google.android.material.datepicker.CalendarConstraints.DateValidator import kotlinx.parcelize.IgnoredOnParcel import kotlinx.parcelize.Parcelize import org.signal.core.util.LRUCache +import org.signal.core.util.ThreadUtil import org.signal.core.util.concurrent.SignalExecutors import org.thoughtcrime.securesms.database.SignalDatabase import java.time.Instant @@ -36,7 +37,7 @@ private typealias MessageDateLookup = (Collection) -> Map class JumpToDateValidator private constructor( private val threadId: Long, @IgnoredOnParcel private val messageExistanceLookup: MessageDateLookup = createDefaultLookup(threadId), - @IgnoredOnParcel private val executor: Executor = SignalExecutors.BOUNDED, + @IgnoredOnParcel private val executor: Executor, private val zoneId: ZoneId = ZoneId.systemDefault() ) : DateValidator { @@ -51,7 +52,7 @@ class JumpToDateValidator private constructor( return JumpToDateValidator( threadId = threadId, messageExistanceLookup = createDefaultLookup(threadId), - executor = SignalExecutors.BOUNDED, + executor = SignalExecutors.newCachedSingleThreadExecutor("jump-to-date-validator", ThreadUtil.PRIORITY_BACKGROUND_THREAD), zoneId = ZoneId.systemDefault() ).also { it.performInitialPrefetch()