summaryrefslogtreecommitdiff
path: root/core/src/play
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/play
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/play')
-rw-r--r--core/src/play/java/de/danoeh/antennapod/core/service/playback/PlaybackServiceFlavorHelper.java21
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);
+ }
}