diff options
author | ByteHamster <info@bytehamster.com> | 2020-03-23 19:16:18 +0100 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2020-03-23 19:21:23 +0100 |
commit | 982ce61b3fd2d27f70c6b595544e7dc51f68b752 (patch) | |
tree | 859932009513bb6db9cf0f33cbecc62b69fb2bd8 /app/src/play/java/de/danoeh | |
parent | 11536361c58a54d82f9a85475ac5e8b816090402 (diff) | |
download | AntennaPod-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.java | 13 |
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)) { |