diff --git a/src/org/thoughtcrime/securesms/loki/redesign/views/NewConversationButtonSetView.kt b/src/org/thoughtcrime/securesms/loki/redesign/views/NewConversationButtonSetView.kt index 3b1f5de593..1f3bf3973c 100644 --- a/src/org/thoughtcrime/securesms/loki/redesign/views/NewConversationButtonSetView.kt +++ b/src/org/thoughtcrime/securesms/loki/redesign/views/NewConversationButtonSetView.kt @@ -39,6 +39,7 @@ class NewConversationButtonSetView : RelativeLayout { // endregion // region Settings + private val minDragDistance by lazy { toPx(40, resources).toFloat() } private val maxDragDistance by lazy { toPx(56, resources).toFloat() } private val dragMargin by lazy { toPx(16, resources).toFloat() } private val bottomMargin by lazy { resources.getDimension(R.dimen.new_conversation_button_bottom_offset) } @@ -252,7 +253,8 @@ class NewConversationButtonSetView : RelativeLayout { expandedButton?.collapse() this.expandedButton = null collapse() - if (event.action == MotionEvent.ACTION_UP) { + val distanceFromRestPosition = touch.distanceTo(buttonRestPosition) + if (event.action == MotionEvent.ACTION_UP && distanceFromRestPosition > (minDragDistance + mainButton.collapsedSize / 2)) { if (sessionButton.contains(touch) || touch.isAbove(sessionButton, dragMargin)) { delegate?.createNewPrivateChat() } else if (closedGroupButton.contains(touch) || touch.isRightOf(closedGroupButton, dragMargin)) { delegate?.createNewClosedGroup() } else if (openGroupButton.contains(touch) || touch.isLeftOf(openGroupButton, dragMargin)) { delegate?.joinOpenGroup() }