summaryrefslogtreecommitdiff
path: root/core/src/play
diff options
context:
space:
mode:
authorDomingos Lopes <domingos86lopes+github@gmail.com>2016-06-28 02:07:43 -0400
committerDomingos Lopes <domingos86lopes+github@gmail.com>2016-06-28 02:18:11 -0400
commit6d0debfd4d0c19ebe0287b136072b05ae6d8e65f (patch)
tree5537d380200a1980484c517a28af46d2ab39581c /core/src/play
parent926f3912cfc774ebf89db9d668ec3d31c6634f70 (diff)
downloadAntennaPod-6d0debfd4d0c19ebe0287b136072b05ae6d8e65f.zip
implement custom mediaroute playback controller
Diffstat (limited to 'core/src/play')
-rw-r--r--core/src/play/java/de/danoeh/antennapod/core/CastCallbacks.java12
-rw-r--r--core/src/play/java/de/danoeh/antennapod/core/ClientConfig.java2
-rw-r--r--core/src/play/java/de/danoeh/antennapod/core/cast/CastManager.java3
3 files changed, 16 insertions, 1 deletions
diff --git a/core/src/play/java/de/danoeh/antennapod/core/CastCallbacks.java b/core/src/play/java/de/danoeh/antennapod/core/CastCallbacks.java
new file mode 100644
index 000000000..770fee9b9
--- /dev/null
+++ b/core/src/play/java/de/danoeh/antennapod/core/CastCallbacks.java
@@ -0,0 +1,12 @@
+package de.danoeh.antennapod.core;
+
+import android.support.annotation.Nullable;
+import android.support.v7.app.MediaRouteDialogFactory;
+
+/**
+ * Callbacks for Chromecast support on the core module
+ */
+public interface CastCallbacks {
+
+ @Nullable MediaRouteDialogFactory getMediaRouterDialogFactory();
+}
diff --git a/core/src/play/java/de/danoeh/antennapod/core/ClientConfig.java b/core/src/play/java/de/danoeh/antennapod/core/ClientConfig.java
index 9bbccbb82..3dfd6ea65 100644
--- a/core/src/play/java/de/danoeh/antennapod/core/ClientConfig.java
+++ b/core/src/play/java/de/danoeh/antennapod/core/ClientConfig.java
@@ -31,6 +31,8 @@ public class ClientConfig {
public static DBTasksCallbacks dbTasksCallbacks;
+ public static CastCallbacks castCallbacks;
+
private static boolean initialized = false;
public static synchronized void initialize(Context context) {
diff --git a/core/src/play/java/de/danoeh/antennapod/core/cast/CastManager.java b/core/src/play/java/de/danoeh/antennapod/core/cast/CastManager.java
index 66b4558be..0674990f1 100644
--- a/core/src/play/java/de/danoeh/antennapod/core/cast/CastManager.java
+++ b/core/src/play/java/de/danoeh/antennapod/core/cast/CastManager.java
@@ -62,6 +62,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.CopyOnWriteArraySet;
import java.util.concurrent.TimeUnit;
+import de.danoeh.antennapod.core.ClientConfig;
import de.danoeh.antennapod.core.R;
import static com.google.android.gms.cast.RemoteMediaPlayer.RESUME_STATE_PLAY;
@@ -130,12 +131,12 @@ public class CastManager extends BaseCastManager implements OnFailedListener {
public static synchronized CastManager init(Context context) {
if (INSTANCE == null) {
- //TODO also setup dialog factory if necessary
CastConfiguration castConfiguration = new CastConfiguration.Builder(CAST_APP_ID)
.enableDebug()
.enableAutoReconnect()
.enableWifiReconnection()
.setLaunchOptions(true, Locale.getDefault())
+ .setMediaRouteDialogFactory(ClientConfig.castCallbacks.getMediaRouterDialogFactory())
.build();
Log.d(TAG, "New instance of CastManager is created");
if (ConnectionResult.SUCCESS != GoogleApiAvailability.getInstance()