diff options
author | Tom Hennen <TomHennen@users.noreply.github.com> | 2016-04-30 11:11:31 -0400 |
---|---|---|
committer | Tom Hennen <TomHennen@users.noreply.github.com> | 2016-04-30 11:11:31 -0400 |
commit | 8bf33732a9b5a1b9c4a6eaf34c4670828a796eea (patch) | |
tree | b6d729d262db68bb318b1f64537e214188c141c5 /app/src/main/java/de/danoeh/antennapod/activity/CastplayerActivity.java | |
parent | c3808e2c24ec0c747b7edd598bc05aa3a11270bd (diff) | |
parent | 9e9efa225ce79ef5fff22add9e4e9f395866736e (diff) | |
download | AntennaPod-8bf33732a9b5a1b9c4a6eaf34c4670828a796eea.zip |
Merge pull request #1879 from domingos86/chromecast-issue-340
Chromecast issue 340 initial PR
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/activity/CastplayerActivity.java')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/activity/CastplayerActivity.java | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/CastplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/CastplayerActivity.java new file mode 100644 index 000000000..1ca4d095f --- /dev/null +++ b/app/src/main/java/de/danoeh/antennapod/activity/CastplayerActivity.java @@ -0,0 +1,83 @@ +package de.danoeh.antennapod.activity; + +import android.content.Intent; +import android.os.Bundle; +import android.util.Log; +import android.view.View; + +import java.util.concurrent.atomic.AtomicBoolean; + +import de.danoeh.antennapod.core.service.playback.PlaybackService; + +/** + * Activity for controlling the remote playback on a Cast device. + */ +public class CastplayerActivity extends MediaplayerInfoActivity { + public static final String TAG = "CastPlayerActivity"; + + private AtomicBoolean isSetup = new AtomicBoolean(false); + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (!PlaybackService.isCasting()) { + Intent intent = PlaybackService.getPlayerActivityIntent(this); + if (!intent.getComponent().getClassName().equals(CastplayerActivity.class.getName())) { + finish(); + startActivity(intent); + } + } + } + + @Override + protected void onReloadNotification(int notificationCode) { + if (notificationCode == PlaybackService.EXTRA_CODE_AUDIO) { + Log.d(TAG, "ReloadNotification received, switching to Audioplayer now"); + saveCurrentFragment(); + finish(); + startActivity(new Intent(this, AudioplayerActivity.class)); + } else { + super.onReloadNotification(notificationCode); + } + } + + @Override + protected void setupGUI() { + if(isSetup.getAndSet(true)) { + return; + } + super.setupGUI(); + if (butPlaybackSpeed != null) { + butPlaybackSpeed.setVisibility(View.GONE); + } + if (butCastDisconnect != null) { + butCastDisconnect.setOnClickListener(v -> castManager.disconnect()); + butCastDisconnect.setVisibility(View.VISIBLE); + } + } + + @Override + protected void onResume() { + if (!PlaybackService.isCasting()) { + Intent intent = PlaybackService.getPlayerActivityIntent(this); + if (!intent.getComponent().getClassName().equals(CastplayerActivity.class.getName())) { + saveCurrentFragment(); + finish(); + startActivity(intent); + } + } + super.onResume(); + } + + @Override + protected void onBufferStart() { + //sbPosition.setIndeterminate(true); + sbPosition.setEnabled(false); + } + + @Override + protected void onBufferEnd() { + //sbPosition.setIndeterminate(false); + sbPosition.setEnabled(true); + } +} |