diff options
author | Cédric Cabessa <ced@ryick.net> | 2017-08-14 21:54:31 +0200 |
---|---|---|
committer | Cédric Cabessa <ced@ryick.net> | 2017-08-14 23:33:25 +0200 |
commit | f3ceccfa829402541dc7603037877f2e08efbf9b (patch) | |
tree | 9efeaefc53c11e7543bb95761265ea6148ac4d13 /core/src/play | |
parent | 657a91b036aa86d94734f8b0ef88a036ec5a48a5 (diff) | |
download | AntennaPod-f3ceccfa829402541dc7603037877f2e08efbf9b.zip |
add a "rewind" and "fast forward" button for android Wear
This feature is only enabled for "play" build.
It is useful to skip advertisement during a podcast.
Note: I originaly tried to implement this in the "4 ways controller" managed by
the mediaSession (it contains vol up / vol down / skip). This object is linked
to the capabilities of the session and seems to be hard to customise without
changing the capabilities.
This patch simply add 2 new buttons
Diffstat (limited to 'core/src/play')
-rw-r--r-- | core/src/play/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceFlavorHelper.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/core/src/play/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceFlavorHelper.java b/core/src/play/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceFlavorHelper.java index 0f493e63e..0cca2ffa4 100644 --- a/core/src/play/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceFlavorHelper.java +++ b/core/src/play/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceFlavorHelper.java @@ -6,9 +6,13 @@ import android.content.Intent; import android.content.IntentFilter; import android.net.NetworkInfo; import android.net.wifi.WifiManager; +import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.StringRes; +import android.support.v4.media.session.MediaSessionCompat; +import android.support.v4.media.session.PlaybackStateCompat; import android.support.v7.media.MediaRouter; +import android.support.wearable.media.MediaControlConstants; import android.util.Log; import android.widget.Toast; @@ -255,4 +259,21 @@ public class PlaybackServiceFlavorHelper { } return false; } + + void sessionStateAddActionForWear(PlaybackStateCompat.Builder sessionState, String actionName, CharSequence name, int icon) { + PlaybackStateCompat.CustomAction.Builder actionBuilder = + new PlaybackStateCompat.CustomAction.Builder(actionName, name, icon); + Bundle actionExtras = new Bundle(); + actionExtras.putBoolean(MediaControlConstants.EXTRA_CUSTOM_ACTION_SHOW_ON_WEAR, true); + actionBuilder.setExtras(actionExtras); + + sessionState.addCustomAction(actionBuilder.build()); + } + + void mediaSessionSetExtraForWear(MediaSessionCompat mediaSession) { + Bundle sessionExtras = new Bundle(); + sessionExtras.putBoolean(MediaControlConstants.EXTRA_RESERVE_SLOT_SKIP_TO_PREVIOUS, true); + sessionExtras.putBoolean(MediaControlConstants.EXTRA_RESERVE_SLOT_SKIP_TO_NEXT, true); + mediaSession.setExtras(sessionExtras); + } } |