diff options
author | ByteHamster <info@bytehamster.com> | 2018-05-06 19:44:07 +0200 |
---|---|---|
committer | ByteHamster <info@bytehamster.com> | 2018-05-06 19:46:31 +0200 |
commit | f6082f58088d79a8b46556fc68c7bbbf30008c82 (patch) | |
tree | c2c5e0c2deae5f50353df4922517957555582226 /app/src/main/java/de/danoeh/antennapod | |
parent | 4411b0ffaa34aede5c42ad3cbc401b63db40a371 (diff) | |
download | AntennaPod-f6082f58088d79a8b46556fc68c7bbbf30008c82.zip |
Using builder to call PlaybackService
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod')
4 files changed, 24 insertions, 21 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java index 3ddf3ed74..207aec20f 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/AudioplayerActivity.java @@ -1,7 +1,6 @@ package de.danoeh.antennapod.activity; import android.content.Intent; -import android.support.v4.content.ContextCompat; import android.support.v4.view.ViewCompat; import android.text.TextUtils; import android.util.Log; @@ -14,6 +13,7 @@ import de.danoeh.antennapod.core.feed.MediaType; import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.service.playback.PlaybackService; import de.danoeh.antennapod.core.util.playback.ExternalMedia; +import de.danoeh.antennapod.core.util.playback.PlaybackServiceStarter; import de.danoeh.antennapod.dialog.VariableSpeedDialog; /** @@ -35,14 +35,13 @@ public class AudioplayerActivity extends MediaplayerInfoActivity { Log.d(TAG, "Received VIEW intent: " + intent.getData().getPath()); ExternalMedia media = new ExternalMedia(intent.getData().getPath(), MediaType.AUDIO); - Intent launchIntent = new Intent(this, PlaybackService.class); - launchIntent.putExtra(PlaybackService.EXTRA_PLAYABLE, media); - launchIntent.putExtra(PlaybackService.EXTRA_START_WHEN_PREPARED, - true); - launchIntent.putExtra(PlaybackService.EXTRA_SHOULD_STREAM, false); - launchIntent.putExtra(PlaybackService.EXTRA_PREPARE_IMMEDIATELY, - true); - ContextCompat.startForegroundService(this, launchIntent); + + new PlaybackServiceStarter(this, media) + .startWhenPrepared(true) + .shouldStream(false) + .prepareImmediately(true) + .start(); + } else if (PlaybackService.isCasting()) { Intent intent = PlaybackService.getPlayerActivityIntent(this); if (intent.getComponent() != null && diff --git a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java index efa91d786..c8fb12abc 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java @@ -6,7 +6,6 @@ import android.graphics.drawable.ColorDrawable; import android.os.Build; import android.os.Bundle; import android.os.Handler; -import android.support.v4.content.ContextCompat; import android.support.v4.view.WindowCompat; import android.support.v7.app.ActionBar; import android.util.Log; @@ -31,6 +30,7 @@ import de.danoeh.antennapod.core.service.playback.PlayerStatus; import de.danoeh.antennapod.core.util.gui.PictureInPictureUtil; import de.danoeh.antennapod.core.util.playback.ExternalMedia; import de.danoeh.antennapod.core.util.playback.Playable; +import de.danoeh.antennapod.core.util.playback.PlaybackServiceStarter; import de.danoeh.antennapod.view.AspectRatioVideoView; import java.lang.ref.WeakReference; @@ -83,14 +83,12 @@ public class VideoplayerActivity extends MediaplayerActivity { Log.d(TAG, "Received VIEW intent: " + intent.getData().getPath()); ExternalMedia media = new ExternalMedia(intent.getData().getPath(), MediaType.VIDEO); - Intent launchIntent = new Intent(this, PlaybackService.class); - launchIntent.putExtra(PlaybackService.EXTRA_PLAYABLE, media); - launchIntent.putExtra(PlaybackService.EXTRA_START_WHEN_PREPARED, - true); - launchIntent.putExtra(PlaybackService.EXTRA_SHOULD_STREAM, false); - launchIntent.putExtra(PlaybackService.EXTRA_PREPARE_IMMEDIATELY, - true); - ContextCompat.startForegroundService(this, launchIntent); + + new PlaybackServiceStarter(this, media) + .startWhenPrepared(true) + .shouldStream(false) + .prepareImmediately(true) + .start(); } else if (PlaybackService.isCasting()) { Intent intent = PlaybackService.getPlayerActivityIntent(this); if (!intent.getComponent().getClassName().equals(VideoplayerActivity.class.getName())) { diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/DefaultActionButtonCallback.java b/app/src/main/java/de/danoeh/antennapod/adapter/DefaultActionButtonCallback.java index a531c86ed..54afde1c7 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/DefaultActionButtonCallback.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/DefaultActionButtonCallback.java @@ -6,6 +6,7 @@ import android.widget.Toast; import com.afollestad.materialdialogs.MaterialDialog; +import de.danoeh.antennapod.core.util.playback.PlaybackServiceStarter; import org.apache.commons.lang3.Validate; import de.danoeh.antennapod.R; @@ -81,10 +82,16 @@ public class DefaultActionButtonCallback implements ActionButtonCallback { } } else { // media is downloaded if (media.isCurrentlyPlaying()) { - PlaybackService.startIfNotRunning(context, media, true, false); + new PlaybackServiceStarter(context, media) + .startWhenPrepared(false) + .shouldStream(false) + .start(); context.sendBroadcast(new Intent(PlaybackService.ACTION_PAUSE_PLAY_CURRENT_EPISODE)); } else if (media.isCurrentlyPaused()) { - PlaybackService.startIfNotRunning(context, media, true, false); + new PlaybackServiceStarter(context, media) + .startWhenPrepared(false) + .shouldStream(false) + .start(); context.sendBroadcast(new Intent(PlaybackService.ACTION_RESUME_PLAY_CURRENT_EPISODE)); } else { DBTasks.playMedia(context, media, false, true, false); diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java index 5088d71a6..63727a1f4 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ItemFragment.java @@ -244,7 +244,6 @@ public class ItemFragment extends Fragment implements OnSwipeGesture { if (item.hasMedia()) { FeedMedia media = item.getMedia(); if (!media.isDownloaded()) { - PlaybackService.startIfNotRunning(getActivity(), media, true, false); DBTasks.playMedia(getActivity(), media, true, true, true); ((MainActivity) getActivity()).dismissChildFragment(); } else { |