diff options
author | ByteHamster <info@bytehamster.com> | 2020-10-26 10:49:41 +0100 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2020-10-26 11:13:52 +0100 |
commit | 2da36919b394681a1a96b9d9f478de15d0c6c871 (patch) | |
tree | 2a7c316b1a2f62ccb702769972b18f22cb06b079 /core/src/main/java/de/danoeh | |
parent | 342ad86467ada341165375dd762d0aca9dcb7dee (diff) | |
download | AntennaPod-2da36919b394681a1a96b9d9f478de15d0c6c871.zip |
Only accept media control buttons while actually playing
Diffstat (limited to 'core/src/main/java/de/danoeh')
-rw-r--r-- | core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java index 585510ef8..f284f2988 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java @@ -623,7 +623,9 @@ public class PlaybackService extends MediaBrowserServiceCompat { } return false; case KeyEvent.KEYCODE_MEDIA_NEXT: - if (notificationButton || UserPreferences.shouldHardwareButtonSkip()) { + if (getStatus() != PlayerStatus.PLAYING && getStatus() != PlayerStatus.PAUSED) { + return false; + } else if (notificationButton || UserPreferences.shouldHardwareButtonSkip()) { // assume the skip command comes from a notification or the lockscreen // a >| skip button should actually skip mediaPlayer.skip(); @@ -634,10 +636,15 @@ public class PlaybackService extends MediaBrowserServiceCompat { } return true; case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD: - mediaPlayer.seekDelta(UserPreferences.getFastForwardSecs() * 1000); - return true; + if (getStatus() == PlayerStatus.PLAYING || getStatus() == PlayerStatus.PAUSED) { + mediaPlayer.seekDelta(UserPreferences.getFastForwardSecs() * 1000); + return true; + } + return false; case KeyEvent.KEYCODE_MEDIA_PREVIOUS: - if (UserPreferences.shouldHardwarePreviousButtonRestart()) { + if (getStatus() != PlayerStatus.PLAYING && getStatus() != PlayerStatus.PAUSED) { + return false; + } else if (UserPreferences.shouldHardwarePreviousButtonRestart()) { // user wants to restart current episode mediaPlayer.seekTo(0); } else { @@ -646,7 +653,11 @@ public class PlaybackService extends MediaBrowserServiceCompat { } return true; case KeyEvent.KEYCODE_MEDIA_REWIND: - mediaPlayer.seekDelta(-UserPreferences.getRewindSecs() * 1000); + if (getStatus() == PlayerStatus.PLAYING || getStatus() == PlayerStatus.PAUSED) { + mediaPlayer.seekDelta(-UserPreferences.getRewindSecs() * 1000); + } else { + return false; + } return true; case KeyEvent.KEYCODE_MEDIA_STOP: if (status == PlayerStatus.PLAYING) { |