diff --git a/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalButton.java b/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalButton.java index 34d95af4..c452e6e4 100644 --- a/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalButton.java +++ b/app/src/main/java/com/limelight/binding/input/virtual_controller/DigitalButton.java @@ -177,6 +177,15 @@ public class DigitalButton extends VirtualControllerElement { listener.onClick(); } + if (timerLongClick != null) { + timerLongClick.cancel(); + timerLongClick = null; + } + if (longClickTimerTask != null) { + longClickTimerTask.cancel(); + longClickTimerTask = null; + } + timerLongClick = new Timer(); longClickTimerTask = new TimerLongClickTimerTask(); timerLongClick.schedule(longClickTimerTask, timerLongClickTimeout); @@ -200,9 +209,11 @@ public class DigitalButton extends VirtualControllerElement { // We may be called for a release without a prior click if (timerLongClick != null) { timerLongClick.cancel(); + timerLongClick = null; } if (longClickTimerTask != null) { longClickTimerTask.cancel(); + longClickTimerTask = null; } }