Debounce call screen answer button

Fixes #7274
This commit is contained in:
Moxie Marlinspike 2017-12-15 15:27:11 -08:00
parent 4de14a5dc1
commit f22186e6f4

View File

@ -52,6 +52,8 @@ public class WebRtcAnswerDeclineButton extends LinearLayout implements View.OnTo
private float lastY; private float lastY;
private boolean animating = false; private boolean animating = false;
private boolean complete = false;
private AnimatorSet animatorSet; private AnimatorSet animatorSet;
private AnswerDeclineListener listener; private AnswerDeclineListener listener;
@ -162,7 +164,10 @@ public class WebRtcAnswerDeclineButton extends LinearLayout implements View.OnTo
if (percentageToThreshold == 1 && listener != null) { if (percentageToThreshold == 1 && listener != null) {
fab.setVisibility(View.INVISIBLE); fab.setVisibility(View.INVISIBLE);
lastY = event.getRawY(); lastY = event.getRawY();
listener.onAnswered(); if (!complete) {
complete = true;
listener.onAnswered();
}
} }
} else { } else {
differenceThreshold = ViewUtil.dpToPx(getContext(), DECLINE_THRESHOLD); differenceThreshold = ViewUtil.dpToPx(getContext(), DECLINE_THRESHOLD);
@ -180,7 +185,11 @@ public class WebRtcAnswerDeclineButton extends LinearLayout implements View.OnTo
if (percentageToThreshold == 1 && listener != null) { if (percentageToThreshold == 1 && listener != null) {
fab.setVisibility(View.INVISIBLE); fab.setVisibility(View.INVISIBLE);
lastY = event.getRawY(); lastY = event.getRawY();
listener.onDeclined();
if (!complete) {
complete = true;
listener.onDeclined();
}
} }
} }
@ -287,6 +296,7 @@ public class WebRtcAnswerDeclineButton extends LinearLayout implements View.OnTo
private void resetElements() { private void resetElements() {
animating = false; animating = false;
complete = false;
animatorSet.cancel(); animatorSet.cancel();
swipeUpText.setTranslationY(0); swipeUpText.setTranslationY(0);