summaryrefslogtreecommitdiff
path: root/app/src/play/java/de/danoeh
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/src/play/java/de/danoeh
parent11536361c58a54d82f9a85475ac5e8b816090402 (diff)
downloadAntennaPod-982ce61b3fd2d27f70c6b595544e7dc51f68b752.zip
Added basic cast button to AudioPlayerFragment
Diffstat (limited to 'app/src/play/java/de/danoeh')
-rw-r--r--app/src/play/java/de/danoeh/antennapod/activity/CastEnabledActivity.java13
1 files changed, 10 insertions, 3 deletions
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)) {