diff options
Diffstat (limited to 'app/src/main')
6 files changed, 25 insertions, 54 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java index a5bdb5554..4b5822ac7 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MediaplayerActivity.java @@ -17,6 +17,7 @@ import android.widget.TextView; import com.bumptech.glide.Glide; +import de.danoeh.antennapod.core.event.ServiceEvent; import de.danoeh.antennapod.view.PlayButton; import org.apache.commons.lang3.StringUtils; import org.greenrobot.eventbus.EventBus; @@ -139,11 +140,6 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements } @Override - public void onShutdownNotification() { - finish(); - } - - @Override public void onPlaybackEnd() { finish(); } @@ -158,11 +154,6 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements super.setScreenOn(enable); MediaplayerActivity.this.setScreenOn(enable); } - - @Override - public void onSetSpeedAbilityChanged() { - MediaplayerActivity.this.onSetSpeedAbilityChanged(); - } }; } @@ -171,9 +162,11 @@ public abstract class MediaplayerActivity extends CastEnabledActivity implements onPositionObserverUpdate(); } - private void onSetSpeedAbilityChanged() { - Log.d(TAG, "onSetSpeedAbilityChanged()"); - updatePlaybackSpeedButton(); + @Subscribe(threadMode = ThreadMode.MAIN) + public void onPlaybackServiceChanged(ServiceEvent event) { + if (event.action == ServiceEvent.Action.SERVICE_SHUT_DOWN) { + finish(); + } } private void onPlaybackSpeedChange() { diff --git a/app/src/main/java/de/danoeh/antennapod/dialog/VariableSpeedDialog.java b/app/src/main/java/de/danoeh/antennapod/dialog/VariableSpeedDialog.java index cd6f006ac..c6927c69f 100644 --- a/app/src/main/java/de/danoeh/antennapod/dialog/VariableSpeedDialog.java +++ b/app/src/main/java/de/danoeh/antennapod/dialog/VariableSpeedDialog.java @@ -1,7 +1,6 @@ package de.danoeh.antennapod.dialog; import android.app.Dialog; -import android.content.Context; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; @@ -41,16 +40,6 @@ public class VariableSpeedDialog extends DialogFragment { selectedSpeeds = new ArrayList<>(UserPreferences.getPlaybackSpeedArray()); } - public static void showGetPluginDialog(final Context context) { - AlertDialog.Builder builder = new AlertDialog.Builder(context); - builder.setTitle(R.string.no_playback_plugin_title); - builder.setMessage(R.string.no_playback_plugin_or_sonic_msg); - builder.setPositiveButton(R.string.enable_sonic, (dialog, which) -> - UserPreferences.enableSonic()); - builder.setNeutralButton(R.string.close_label, null); - builder.show(); - } - @Override public void onStart() { super.onStart(); 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 d54ea566b..64cbaa023 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java @@ -38,6 +38,7 @@ import de.danoeh.antennapod.activity.CastEnabledActivity; import de.danoeh.antennapod.activity.MainActivity; import de.danoeh.antennapod.core.event.FavoritesEvent; import de.danoeh.antennapod.core.event.PlaybackPositionEvent; +import de.danoeh.antennapod.core.event.ServiceEvent; import de.danoeh.antennapod.model.feed.Chapter; import de.danoeh.antennapod.core.event.UnreadItemsUpdateEvent; import de.danoeh.antennapod.model.feed.FeedItem; @@ -223,6 +224,13 @@ public class AudioPlayerFragment extends Fragment implements controller.getDuration())); } + @Subscribe(threadMode = ThreadMode.MAIN) + public void onPlaybackServiceChanged(ServiceEvent event) { + if (event.action == ServiceEvent.Action.SERVICE_SHUT_DOWN) { + ((MainActivity) getActivity()).getBottomSheet().setState(BottomSheetBehavior.STATE_COLLAPSED); + } + } + private void setupLengthTextView() { showTimeLeft = UserPreferences.shouldShowRemainingTime(); txtvLength.setOnClickListener(v -> { @@ -241,10 +249,6 @@ public class AudioPlayerFragment extends Fragment implements if (controller == null) { return; } - if (!controller.canSetPlaybackSpeed()) { - VariableSpeedDialog.showGetPluginDialog(getContext()); - return; - } List<Float> availableSpeeds = UserPreferences.getPlaybackSpeedArray(); float currentSpeed = controller.getCurrentPlaybackSpeedMultiplier(); @@ -278,14 +282,10 @@ public class AudioPlayerFragment extends Fragment implements if (butPlaybackSpeed == null || controller == null) { return; } - float speed = 1.0f; - if (controller.canSetPlaybackSpeed()) { - speed = PlaybackSpeedUtils.getCurrentPlaybackSpeed(media); - } + float speed = PlaybackSpeedUtils.getCurrentPlaybackSpeed(media); String speedStr = new DecimalFormat("0.00").format(speed); txtvPlaybackSpeed.setText(speedStr); butPlaybackSpeed.setSpeed(speed); - butPlaybackSpeed.setAlpha(controller.canSetPlaybackSpeed() ? 1.0f : 0.5f); butPlaybackSpeed.setVisibility(View.VISIBLE); txtvPlaybackSpeed.setVisibility(View.VISIBLE); } @@ -364,11 +364,6 @@ public class AudioPlayerFragment extends Fragment implements } @Override - public void onShutdownNotification() { - ((MainActivity) getActivity()).getBottomSheet().setState(BottomSheetBehavior.STATE_COLLAPSED); - } - - @Override public void onPlaybackEnd() { ((MainActivity) getActivity()).getBottomSheet().setState(BottomSheetBehavior.STATE_COLLAPSED); } @@ -377,11 +372,6 @@ public class AudioPlayerFragment extends Fragment implements public void onPlaybackSpeedChange() { updatePlaybackSpeedButton(getMedia()); } - - @Override - public void onSetSpeedAbilityChanged() { - updatePlaybackSpeedButton(getMedia()); - } }; } diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java index 6a8d648ad..de14f220e 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ChaptersFragment.java @@ -70,7 +70,7 @@ public class ChaptersFragment extends AppCompatDialogFragment { controller.playPause(); } Chapter chapter = adapter.getItem(pos); - controller.seekToChapter(chapter); + controller.seekTo((int) chapter.getStart()); updateChapterSelection(pos); }); recyclerView.setAdapter(adapter); diff --git a/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java b/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java index fe7787bc9..370c4c301 100644 --- a/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java +++ b/app/src/main/java/de/danoeh/antennapod/fragment/ExternalPlayerFragment.java @@ -16,6 +16,7 @@ import com.google.android.material.bottomsheet.BottomSheetBehavior; import de.danoeh.antennapod.R; import de.danoeh.antennapod.activity.MainActivity; import de.danoeh.antennapod.core.event.PlaybackPositionEvent; +import de.danoeh.antennapod.core.event.ServiceEvent; import de.danoeh.antennapod.model.playback.MediaType; import de.danoeh.antennapod.core.feed.util.ImageResourceUtils; import de.danoeh.antennapod.core.glide.ApGlideSettings; @@ -113,11 +114,6 @@ public class ExternalPlayerFragment extends Fragment { } @Override - public void onShutdownNotification() { - ((MainActivity) getActivity()).setPlayerVisible(false); - } - - @Override public void onPlaybackEnd() { ((MainActivity) getActivity()).setPlayerVisible(false); } @@ -148,6 +144,13 @@ public class ExternalPlayerFragment extends Fragment { onPositionObserverUpdate(); } + @Subscribe(threadMode = ThreadMode.MAIN) + public void onPlaybackServiceChanged(ServiceEvent event) { + if (event.action == ServiceEvent.Action.SERVICE_SHUT_DOWN) { + ((MainActivity) getActivity()).setPlayerVisible(false); + } + } + @Override public void onDestroy() { super.onDestroy(); diff --git a/app/src/main/java/de/danoeh/antennapod/view/PlaybackSpeedSeekBar.java b/app/src/main/java/de/danoeh/antennapod/view/PlaybackSpeedSeekBar.java index 47797e4a4..c75164a74 100644 --- a/app/src/main/java/de/danoeh/antennapod/view/PlaybackSpeedSeekBar.java +++ b/app/src/main/java/de/danoeh/antennapod/view/PlaybackSpeedSeekBar.java @@ -10,7 +10,6 @@ import androidx.annotation.Nullable; import androidx.core.util.Consumer; import de.danoeh.antennapod.R; import de.danoeh.antennapod.core.util.playback.PlaybackController; -import de.danoeh.antennapod.dialog.VariableSpeedDialog; public class PlaybackSpeedSeekBar extends FrameLayout { private SeekBar seekBar; @@ -41,7 +40,7 @@ public class PlaybackSpeedSeekBar extends FrameLayout { seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { - if (controller != null && controller.canSetPlaybackSpeed()) { + if (controller != null) { float playbackSpeed = (progress + 10) / 20.0f; controller.setPlaybackSpeed(playbackSpeed); @@ -55,9 +54,6 @@ public class PlaybackSpeedSeekBar extends FrameLayout { @Override public void onStartTrackingTouch(SeekBar seekBar) { - if (controller != null && !controller.canSetPlaybackSpeed()) { - VariableSpeedDialog.showGetPluginDialog(getContext()); - } } @Override |