diff --git a/apps/android/app/src/main/java/chat/simplex/app/views/chat/item/TextItemView.kt b/apps/android/app/src/main/java/chat/simplex/app/views/chat/item/TextItemView.kt index dafc328cf5..d6fe1b2f4c 100644 --- a/apps/android/app/src/main/java/chat/simplex/app/views/chat/item/TextItemView.kt +++ b/apps/android/app/src/main/java/chat/simplex/app/views/chat/item/TextItemView.kt @@ -228,7 +228,7 @@ fun ClickableText( } } }, shouldConsumeEvent = { pos -> - var consume = false + var consume = false layoutResult.value?.let { layoutResult -> consume = shouldConsumeEvent(layoutResult.getOffsetForPosition(pos)) } diff --git a/apps/android/app/src/main/java/chat/simplex/app/views/helpers/GestureDetector.kt b/apps/android/app/src/main/java/chat/simplex/app/views/helpers/GestureDetector.kt index 41d6c73190..463d0eacbd 100644 --- a/apps/android/app/src/main/java/chat/simplex/app/views/helpers/GestureDetector.kt +++ b/apps/android/app/src/main/java/chat/simplex/app/views/helpers/GestureDetector.kt @@ -80,10 +80,16 @@ suspend fun PointerInputScope.detectGesture( pressScope.release() } } catch (_: PointerEventTimeoutCancellationException) { - onLongPress?.invoke(down.position) - if (shouldConsume) - consumeUntilUp() - pressScope.release() + if (onLongPress != null) { + onLongPress(down.position) + if (shouldConsume) + consumeUntilUp() + pressScope.cancel() + } else { + if (shouldConsume) + consumeUntilUp() + pressScope.release() + } } } }