summaryrefslogtreecommitdiff
path: root/core/src/main/java/de/danoeh
diff options
context:
space:
mode:
authorCédric Cabessa <ced@ryick.net>2017-08-14 21:54:31 +0200
committerCédric Cabessa <ced@ryick.net>2017-08-14 23:33:25 +0200
commitf3ceccfa829402541dc7603037877f2e08efbf9b (patch)
tree9efeaefc53c11e7543bb95761265ea6148ac4d13 /core/src/main/java/de/danoeh
parent657a91b036aa86d94734f8b0ef88a036ec5a48a5 (diff)
downloadAntennaPod-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/main/java/de/danoeh')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/playback/PlaybackService.java24
1 files changed, 24 insertions, 0 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 c3e6b55ba..3166dd743 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
@@ -133,6 +133,12 @@ public class PlaybackService extends MediaBrowserServiceCompat {
*/
public static final String ACTION_RESUME_PLAY_CURRENT_EPISODE = "action.de.danoeh.antennapod.core.service.resumePlayCurrentEpisode";
+ /**
+ * Custom action used by Android Wear
+ */
+ private static final String CUSTOM_ACTION_FAST_FORWARD = "action.de.danoeh.antennapod.core.service.fastForward";
+ private static final String CUSTOM_ACTION_REWIND = "action.de.danoeh.antennapod.core.service.rewind";
+
/**
* Used in NOTIFICATION_TYPE_RELOAD.
@@ -1083,6 +1089,14 @@ public class PlaybackService extends MediaBrowserServiceCompat {
}
sessionState.setActions(capabilities);
+
+ flavorHelper.sessionStateAddActionForWear(sessionState,
+ CUSTOM_ACTION_REWIND, getString(R.string.rewind_label), android.R.drawable.ic_media_rew);
+ flavorHelper.sessionStateAddActionForWear(sessionState,
+ CUSTOM_ACTION_FAST_FORWARD, getString(R.string.fast_forward_label), android.R.drawable.ic_media_ff);
+
+ flavorHelper.mediaSessionSetExtraForWear(mediaSession);
+
mediaSession.setPlaybackState(sessionState.build());
}
@@ -1761,6 +1775,16 @@ public class PlaybackService extends MediaBrowserServiceCompat {
}
return false;
}
+
+ @Override
+ public void onCustomAction(String action, Bundle extra) {
+ Log.d(TAG, "onCustomAction(" + action + ")");
+ if (CUSTOM_ACTION_FAST_FORWARD.equals(action)) {
+ onFastForward();
+ } else if (CUSTOM_ACTION_REWIND.equals(action)) {
+ onRewind();
+ }
+ }
};
private SharedPreferences.OnSharedPreferenceChangeListener prefListener =