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 boolean animating = false;
private boolean complete = false;
private AnimatorSet animatorSet;
private AnswerDeclineListener listener;
@ -162,8 +164,11 @@ public class WebRtcAnswerDeclineButton extends LinearLayout implements View.OnTo
if (percentageToThreshold == 1 && listener != null) {
fab.setVisibility(View.INVISIBLE);
lastY = event.getRawY();
if (!complete) {
complete = true;
listener.onAnswered();
}
}
} else {
differenceThreshold = ViewUtil.dpToPx(getContext(), DECLINE_THRESHOLD);
percentageToThreshold = Math.min(1, difference / differenceThreshold);
@ -180,9 +185,13 @@ public class WebRtcAnswerDeclineButton extends LinearLayout implements View.OnTo
if (percentageToThreshold == 1 && listener != null) {
fab.setVisibility(View.INVISIBLE);
lastY = event.getRawY();
if (!complete) {
complete = true;
listener.onDeclined();
}
}
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
fab.getBackground().setTint(backgroundColor);
@ -287,6 +296,7 @@ public class WebRtcAnswerDeclineButton extends LinearLayout implements View.OnTo
private void resetElements() {
animating = false;
complete = false;
animatorSet.cancel();
swipeUpText.setTranslationY(0);