summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2020-03-23 19:16:18 +0100
committerByteHamster <info@bytehamster.com>2020-03-23 19:21:23 +0100
commit982ce61b3fd2d27f70c6b595544e7dc51f68b752 (patch)
tree859932009513bb6db9cf0f33cbecc62b69fb2bd8 /app
parent11536361c58a54d82f9a85475ac5e8b816090402 (diff)
downloadAntennaPod-982ce61b3fd2d27f70c6b595544e7dc51f68b752.zip
Added basic cast button to AudioPlayerFragment
Diffstat (limited to 'app')
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java13
-rw-r--r--app/src/play/java/de/danoeh/antennapod/activity/CastEnabledActivity.java13
2 files changed, 23 insertions, 3 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java
index d7925217f..c9322a3a9 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java
@@ -429,6 +429,7 @@ public class AudioPlayerFragment extends Fragment implements
public void setupOptionsMenu() {
if (toolbar.getMenu().size() == 0) {
+ //toolbar.inflateMenu(R.menu.cast_enabled);
toolbar.inflateMenu(R.menu.mediaplayer);
}
if (controller == null) {
@@ -443,6 +444,18 @@ public class AudioPlayerFragment extends Fragment implements
toolbar.getMenu().findItem(R.id.set_sleeptimer_item).setVisible(!controller.sleepTimerActive());
toolbar.getMenu().findItem(R.id.disable_sleeptimer_item).setVisible(controller.sleepTimerActive());
+
+ /*MenuItem mediaRouteButton = toolbar.getMenu().findItem(R.id.media_route_menu_item);
+ SwitchableMediaRouteActionProvider mediaRouteActionProvider =
+ CastManager.getInstance().addMediaRouterButton(mediaRouteButton);
+ CastEnabledActivity.CastButtonVisibilityManager castButtonVisibilityManager =
+ new CastEnabledActivity.CastButtonVisibilityManager(CastManager.getInstance());
+ castButtonVisibilityManager.setMenu(toolbar.getMenu());
+ castButtonVisibilityManager.setPrefEnabled(UserPreferences.isCastEnabled());
+ castButtonVisibilityManager.mediaRouteActionProvider = mediaRouteActionProvider;
+ castButtonVisibilityManager.setResumed(true);
+ castButtonVisibilityManager.requestCastButton(MenuItem.SHOW_AS_ACTION_ALWAYS);
+ mediaRouteActionProvider.setEnabled(castButtonVisibilityManager.shouldEnable());*/
}
@Override
diff --git a/app/src/play/java/de/danoeh/antennapod/activity/CastEnabledActivity.java b/app/src/play/java/de/danoeh/antennapod/activity/CastEnabledActivity.java
index e392a50c6..ca5806740 100644
--- a/app/src/play/java/de/danoeh/antennapod/activity/CastEnabledActivity.java
+++ b/app/src/play/java/de/danoeh/antennapod/activity/CastEnabledActivity.java
@@ -31,9 +31,8 @@ public abstract class CastEnabledActivity extends AppCompatActivity
private CastConsumer castConsumer;
private CastManager castManager;
-
private SwitchableMediaRouteActionProvider mediaRouteActionProvider;
- private final CastButtonVisibilityManager castButtonVisibilityManager = new CastButtonVisibilityManager();
+ private CastButtonVisibilityManager castButtonVisibilityManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -59,6 +58,7 @@ public abstract class CastEnabledActivity extends AppCompatActivity
};
castManager = CastManager.getInstance();
castManager.addCastConsumer(castConsumer);
+ castButtonVisibilityManager = new CastButtonVisibilityManager(castManager);
castButtonVisibilityManager.setPrefEnabled(UserPreferences.isCastEnabled());
onCastConnectionChanged(castManager.isConnected());
}
@@ -103,6 +103,7 @@ public abstract class CastEnabledActivity extends AppCompatActivity
}
mediaRouteActionProvider = castManager.addMediaRouterButton(mediaRouteButton);
if (mediaRouteActionProvider != null) {
+ castButtonVisibilityManager.mediaRouteActionProvider = mediaRouteActionProvider;
mediaRouteActionProvider.setEnabled(castButtonVisibilityManager.shouldEnable());
}
return true;
@@ -162,13 +163,19 @@ public abstract class CastEnabledActivity extends AppCompatActivity
castButtonVisibilityManager.requestCastButton(showAsAction);
}
- private class CastButtonVisibilityManager {
+ public static class CastButtonVisibilityManager {
+ private final CastManager castManager;
private volatile boolean prefEnabled = false;
private volatile boolean viewRequested = false;
private volatile boolean resumed = false;
private volatile boolean connected = false;
private volatile int showAsAction = MenuItem.SHOW_AS_ACTION_IF_ROOM;
private Menu menu;
+ public SwitchableMediaRouteActionProvider mediaRouteActionProvider;
+
+ public CastButtonVisibilityManager(CastManager castManager) {
+ this.castManager = castManager;
+ }
public synchronized void setPrefEnabled(boolean newValue) {
if (prefEnabled != newValue && resumed && (viewRequested || connected)) {