More QoL changes for touch gliding

This commit is contained in:
Certainty Witch 2021-03-17 14:35:18 +02:00 committed by GitHub
parent 3d08dd0250
commit 20f7cd7217
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -461,11 +461,11 @@ public class TouchscreenControllerView extends FrameLayout {
final int y = (int) event.getY(i);
if (rect.contains(x, y)) {
buttonView.setPressed(true);
int pointerID = event.getPointerId(i);
if (!mGlidePairs.containsKey(pointerID) && !mGlidePairs.containsValue(buttonView)) {
final int pointerId = event.getPointerId(i);
if (!mGlidePairs.containsKey(pointerId) && !mGlidePairs.containsValue(buttonView)) {
if (buttonView.getIsGlidable())
mGlidePairs.put(pointerID, buttonView);
else { mGlidePairs.put(pointerID, null); }
mGlidePairs.put(pointerId, buttonView);
else { mGlidePairs.put(pointerId, null); }
}
pressed = true;
break;
@ -494,6 +494,7 @@ public class TouchscreenControllerView extends FrameLayout {
(axisView.isPressed() && axisView.getPointerId() == pointerId)) {
axisView.setPressed(pointerId, x, y);
pressed = true;
mGlidePairs.put(pointerId, null);
break;
}
}
@ -526,9 +527,9 @@ public class TouchscreenControllerView extends FrameLayout {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_POINTER_DOWN:
case MotionEvent.ACTION_POINTER_UP: {
int pointerID = event.getPointerId(event.getActionIndex());
if (mGlidePairs.containsKey(pointerID))
mGlidePairs.remove(pointerID);
final int pointerId = event.getPointerId(event.getActionIndex());
if (mGlidePairs.containsKey(pointerId))
mGlidePairs.remove(pointerId);
return updateTouchButtonsFromEvent(event);
}