diff options
author | Martin Fietz <Martin.Fietz@gmail.com> | 2015-11-23 21:40:18 +0100 |
---|---|---|
committer | Martin Fietz <Martin.Fietz@gmail.com> | 2015-11-24 02:01:44 +0100 |
commit | cdc8bbd97a19f05d7df47f92c964d19ea1a8a68e (patch) | |
tree | b29f57e50e48a7de023190fc4f5338f17adcf64a /core/src/main | |
parent | 506b82124979f912f350eeeba229b0f881c80456 (diff) | |
download | AntennaPod-cdc8bbd97a19f05d7df47f92c964d19ea1a8a68e.zip |
Media buttons: Fast forward when next button is pressed
Diffstat (limited to 'core/src/main')
-rw-r--r-- | core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java index 63b43e9d2..c951fb558 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceMediaPlayer.java @@ -16,6 +16,7 @@ import android.support.v4.media.session.PlaybackStateCompat; import android.telephony.TelephonyManager; import android.util.Log; import android.util.Pair; +import android.view.InputDevice; import android.view.KeyEvent; import android.view.SurfaceHolder; @@ -1182,8 +1183,11 @@ public class PlaybackServiceMediaPlayer implements SharedPreferences.OnSharedPre private final MediaSessionCompat.Callback sessionCallback = new MediaSessionCompat.Callback() { + private static final String TAG = "MediaSessionCompat"; + @Override public void onPlay() { + Log.d(TAG, "onPlay()"); if (playerStatus == PlayerStatus.PAUSED || playerStatus == PlayerStatus.PREPARED) { resume(); } else if (playerStatus == PlayerStatus.INITIALIZED) { @@ -1194,7 +1198,7 @@ public class PlaybackServiceMediaPlayer implements SharedPreferences.OnSharedPre @Override public void onPause() { - super.onPause(); + Log.d(TAG, "onPause()"); if (playerStatus == PlayerStatus.PLAYING) { pause(false, true); } @@ -1207,25 +1211,24 @@ public class PlaybackServiceMediaPlayer implements SharedPreferences.OnSharedPre @Override public void onSkipToNext() { - super.onSkipToNext(); - endPlayback(true); + Log.d(TAG, "onSkipToNext()"); } @Override public void onFastForward() { - super.onFastForward(); + Log.d(TAG, "onFastForward()"); seekDelta(UserPreferences.getFastFowardSecs() * 1000); } @Override public void onRewind() { - super.onRewind(); + Log.d(TAG, "onRewind()"); seekDelta(-UserPreferences.getRewindSecs() * 1000); } @Override public void onSeekTo(long pos) { - super.onSeekTo(pos); + Log.d(TAG, "onSeekTo()"); seekTo((int) pos); } @@ -1236,11 +1239,12 @@ public class PlaybackServiceMediaPlayer implements SharedPreferences.OnSharedPre KeyEvent keyEvent = (KeyEvent) mediaButton.getExtras().get(Intent.EXTRA_KEY_EVENT); handleMediaKey(keyEvent); } - return super.onMediaButtonEvent(mediaButton); + return false; } }; public boolean handleMediaKey(KeyEvent event) { + Log.d(TAG, "handleMediaKey(" + event +")"); if (event != null && event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() == 0) { @@ -1291,8 +1295,11 @@ public class PlaybackServiceMediaPlayer implements SharedPreferences.OnSharedPre return true; } case KeyEvent.KEYCODE_MEDIA_NEXT: { - Log.d(TAG, "Received next event from RemoteControlClient"); - endPlayback(true); + if(event.getSource() == InputDevice.SOURCE_CLASS_NONE) { + endPlayback(true); + } else { + seekDelta(UserPreferences.getFastFowardSecs() * 1000); + } return true; } default: |