From 39dbb9a7fcaac16704c196187d937b99ba442fd6 Mon Sep 17 00:00:00 2001 From: olly Date: Tue, 12 Sep 2017 08:21:43 -0700 Subject: [PATCH] De-dupe ACTION_DOWN events Issue: #3259 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=168378650 --- .../exoplayer2/ui/PlaybackControlView.java | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlaybackControlView.java b/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlaybackControlView.java index 9bbb2fa27b..16f555ffbc 100644 --- a/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlaybackControlView.java +++ b/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlaybackControlView.java @@ -986,30 +986,30 @@ public class PlaybackControlView extends FrameLayout { return false; } if (event.getAction() == KeyEvent.ACTION_DOWN) { - switch (keyCode) { - case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD: - fastForward(); - break; - case KeyEvent.KEYCODE_MEDIA_REWIND: - rewind(); - break; - case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE: - controlDispatcher.dispatchSetPlayWhenReady(player, !player.getPlayWhenReady()); - break; - case KeyEvent.KEYCODE_MEDIA_PLAY: - controlDispatcher.dispatchSetPlayWhenReady(player, true); - break; - case KeyEvent.KEYCODE_MEDIA_PAUSE: - controlDispatcher.dispatchSetPlayWhenReady(player, false); - break; - case KeyEvent.KEYCODE_MEDIA_NEXT: - next(); - break; - case KeyEvent.KEYCODE_MEDIA_PREVIOUS: - previous(); - break; - default: - break; + if (keyCode == KeyEvent.KEYCODE_MEDIA_FAST_FORWARD) { + fastForward(); + } else if (keyCode == KeyEvent.KEYCODE_MEDIA_REWIND) { + rewind(); + } else if (event.getRepeatCount() == 0) { + switch (keyCode) { + case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE: + controlDispatcher.dispatchSetPlayWhenReady(player, !player.getPlayWhenReady()); + break; + case KeyEvent.KEYCODE_MEDIA_PLAY: + controlDispatcher.dispatchSetPlayWhenReady(player, true); + break; + case KeyEvent.KEYCODE_MEDIA_PAUSE: + controlDispatcher.dispatchSetPlayWhenReady(player, false); + break; + case KeyEvent.KEYCODE_MEDIA_NEXT: + next(); + break; + case KeyEvent.KEYCODE_MEDIA_PREVIOUS: + previous(); + break; + default: + break; + } } } return true;