Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -440,7 +440,11 @@ class RNGestureHandlerButtonViewManager :
val isResponder = tryGrabbingResponder()
if (isResponder) {
isTouched = true
// when setPressed(true) is called before canBegin it will not call super.setPressed
// in this case we call it here
setPressed(true)
}

return isResponder
}

Expand Down Expand Up @@ -515,16 +519,6 @@ class RNGestureHandlerButtonViewManager :
}

override fun setPressed(pressed: Boolean) {
// there is a possibility of this method being called before NativeViewGestureHandler has
// opportunity to call canStart, in that case we need to grab responder in case the gesture
// will activate
// when canStart is called eventually, tryGrabbingResponder will return true if the button
// already is a responder
if (pressed) {
if (tryGrabbingResponder()) {
soundResponder = this
}
}
// button can be pressed alongside other button if both are non-exclusive and it doesn't have
// any pressed children (to prevent pressing the parent when children is pressed).
val canBePressedAlongsideOther = !exclusive && touchResponder?.exclusive != true && !isChildTouched()
Expand All @@ -535,6 +529,7 @@ class RNGestureHandlerButtonViewManager :
isTouched = pressed
super.setPressed(pressed)
}

if (!pressed && touchResponder === this) {
// if the responder is no longer pressed we release button responder
isTouched = false
Expand Down