summaryrefslogtreecommitdiff
path: root/app/src
diff options
context:
space:
mode:
Diffstat (limited to 'app/src')
-rw-r--r--app/src/androidTest/java/de/test/antennapod/service/playback/CancelablePSMPCallback.java8
-rw-r--r--app/src/androidTest/java/de/test/antennapod/service/playback/DefaultPSMPCallback.java5
-rw-r--r--app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java29
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java20
-rw-r--r--app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java36
5 files changed, 28 insertions, 70 deletions
diff --git a/app/src/androidTest/java/de/test/antennapod/service/playback/CancelablePSMPCallback.java b/app/src/androidTest/java/de/test/antennapod/service/playback/CancelablePSMPCallback.java
index ae38fd5e7..30a84ecb9 100644
--- a/app/src/androidTest/java/de/test/antennapod/service/playback/CancelablePSMPCallback.java
+++ b/app/src/androidTest/java/de/test/antennapod/service/playback/CancelablePSMPCallback.java
@@ -67,14 +67,6 @@ public class CancelablePSMPCallback implements PlaybackServiceMediaPlayer.PSMPCa
}
@Override
- public boolean onMediaPlayerError(Object inObj, int what, int extra) {
- if (isCancelled) {
- return true;
- }
- return originalCallback.onMediaPlayerError(inObj, what, extra);
- }
-
- @Override
public void onPostPlayback(@NonNull Playable media, boolean ended, boolean skipped, boolean playingNext) {
if (isCancelled) {
return;
diff --git a/app/src/androidTest/java/de/test/antennapod/service/playback/DefaultPSMPCallback.java b/app/src/androidTest/java/de/test/antennapod/service/playback/DefaultPSMPCallback.java
index 29a854f20..167b1b55c 100644
--- a/app/src/androidTest/java/de/test/antennapod/service/playback/DefaultPSMPCallback.java
+++ b/app/src/androidTest/java/de/test/antennapod/service/playback/DefaultPSMPCallback.java
@@ -38,11 +38,6 @@ public class DefaultPSMPCallback implements PlaybackServiceMediaPlayer.PSMPCallb
}
@Override
- public boolean onMediaPlayerError(Object inObj, int what, int extra) {
- return false;
- }
-
- @Override
public void onPostPlayback(@NonNull Playable media, boolean ended, boolean skipped, boolean playingNext) {
}
diff --git a/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java b/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java
index dfb0e3e36..87a5fa65c 100644
--- a/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java
+++ b/app/src/androidTest/java/de/test/antennapod/service/playback/PlaybackServiceMediaPlayerTest.java
@@ -514,13 +514,6 @@ public class PlaybackServiceMediaPlayerTest {
if (assertionError == null)
assertionError = new AssertionFailedError("Unexpected call to shouldStop");
}
-
- @Override
- public boolean onMediaPlayerError(Object inObj, int what, int extra) {
- if (assertionError == null)
- assertionError = new AssertionFailedError("Unexpected call to onMediaPlayerError");
- return false;
- }
});
PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback);
Playable p = writeTestPlayable(playableFileUrl, PLAYABLE_LOCAL_URL);
@@ -604,14 +597,6 @@ public class PlaybackServiceMediaPlayerTest {
}
}
-
- @Override
- public boolean onMediaPlayerError(Object inObj, int what, int extra) {
- if (assertionError == null) {
- assertionError = new AssertionFailedError("Unexpected call of onMediaPlayerError");
- }
- return false;
- }
});
PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback);
if (initialState == PlayerStatus.PREPARED || initialState == PlayerStatus.PLAYING || initialState == PlayerStatus.PAUSED) {
@@ -664,13 +649,6 @@ public class PlaybackServiceMediaPlayerTest {
}
}
}
-
- @Override
- public boolean onMediaPlayerError(Object inObj, int what, int extra) {
- if (assertionError == null)
- assertionError = new AssertionFailedError("Unexpected call to onMediaPlayerError");
- return false;
- }
});
PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback);
Playable p = writeTestPlayable(playableFileUrl, PLAYABLE_LOCAL_URL);
@@ -738,13 +716,6 @@ public class PlaybackServiceMediaPlayerTest {
}
}
}
-
- @Override
- public boolean onMediaPlayerError(Object inObj, int what, int extra) {
- if (assertionError == null)
- assertionError = new AssertionFailedError("Unexpected call to onMediaPlayerError");
- return false;
- }
});
PlaybackServiceMediaPlayer psmp = new LocalPSMP(c, callback);
Playable p = writeTestPlayable(playableFileUrl, PLAYABLE_LOCAL_URL);
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 d436acf0d..c35709f05 100644
--- a/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
+++ b/app/src/main/java/de/danoeh/antennapod/activity/VideoplayerActivity.java
@@ -37,6 +37,7 @@ import androidx.interpolator.view.animation.FastOutSlowInInterpolator;
import com.bumptech.glide.Glide;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.event.PlaybackPositionEvent;
+import de.danoeh.antennapod.core.event.PlayerErrorEvent;
import de.danoeh.antennapod.core.event.ServiceEvent;
import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.service.playback.PlaybackService;
@@ -50,7 +51,6 @@ import de.danoeh.antennapod.core.util.ShareUtils;
import de.danoeh.antennapod.core.util.StorageUtils;
import de.danoeh.antennapod.core.util.TimeSpeedConverter;
import de.danoeh.antennapod.core.util.gui.PictureInPictureUtil;
-import de.danoeh.antennapod.core.util.playback.MediaPlayerError;
import de.danoeh.antennapod.core.util.playback.PlaybackController;
import de.danoeh.antennapod.databinding.VideoplayerActivityBinding;
import de.danoeh.antennapod.dialog.PlaybackControlsDialog;
@@ -208,15 +208,6 @@ public class VideoplayerActivity extends CastEnabledActivity implements SeekBar.
}
@Override
- public void handleError(int code) {
- final AlertDialog.Builder errorDialog = new AlertDialog.Builder(VideoplayerActivity.this);
- errorDialog.setTitle(R.string.error_label);
- errorDialog.setMessage(MediaPlayerError.getErrorString(VideoplayerActivity.this, code));
- errorDialog.setNeutralButton(android.R.string.ok, (dialog, which) -> finish());
- errorDialog.show();
- }
-
- @Override
public void onReloadNotification(int code) {
VideoplayerActivity.this.onReloadNotification(code);
}
@@ -550,6 +541,15 @@ public class VideoplayerActivity extends CastEnabledActivity implements SeekBar.
}
}
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void onMediaPlayerError(PlayerErrorEvent event) {
+ final AlertDialog.Builder errorDialog = new AlertDialog.Builder(VideoplayerActivity.this);
+ errorDialog.setTitle(R.string.error_label);
+ errorDialog.setMessage(event.getMessage());
+ errorDialog.setNeutralButton(android.R.string.ok, (dialog, which) -> finish());
+ errorDialog.show();
+ }
+
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
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 168133c7a..eef2c0fff 100644
--- a/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java
+++ b/app/src/main/java/de/danoeh/antennapod/fragment/AudioPlayerFragment.java
@@ -25,6 +25,7 @@ import androidx.viewpager2.widget.ViewPager2;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
import com.google.android.material.snackbar.Snackbar;
+import de.danoeh.antennapod.core.event.PlayerErrorEvent;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@@ -50,7 +51,6 @@ import de.danoeh.antennapod.core.util.ChapterUtils;
import de.danoeh.antennapod.core.util.Converter;
import de.danoeh.antennapod.core.util.IntentUtils;
import de.danoeh.antennapod.core.util.TimeSpeedConverter;
-import de.danoeh.antennapod.core.util.playback.MediaPlayerError;
import de.danoeh.antennapod.model.playback.Playable;
import de.danoeh.antennapod.core.util.playback.PlaybackController;
import de.danoeh.antennapod.dialog.PlaybackControlsDialog;
@@ -301,23 +301,6 @@ public class AudioPlayerFragment extends Fragment implements
}
@Override
- public void handleError(int code) {
- final AlertDialog.Builder errorDialog = new AlertDialog.Builder(getContext());
- errorDialog.setTitle(R.string.error_label);
- errorDialog.setMessage(MediaPlayerError.getErrorString(getContext(), code));
- errorDialog.setPositiveButton(android.R.string.ok, (dialog, which) ->
- ((MainActivity) getActivity()).getBottomSheet().setState(BottomSheetBehavior.STATE_COLLAPSED));
- if (!UserPreferences.useExoplayer()) {
- errorDialog.setNeutralButton(R.string.media_player_switch_to_exoplayer, (dialog, which) -> {
- UserPreferences.enableExoplayer();
- ((MainActivity) getActivity()).showSnackbarAbovePlayer(
- R.string.media_player_switched_to_exoplayer, Snackbar.LENGTH_LONG);
- });
- }
- errorDialog.create().show();
- }
-
- @Override
public void onSleepTimerUpdate() {
AudioPlayerFragment.this.loadMediaInfo(false);
}
@@ -419,6 +402,23 @@ public class AudioPlayerFragment extends Fragment implements
AudioPlayerFragment.this.loadMediaInfo(false);
}
+ @Subscribe(threadMode = ThreadMode.MAIN)
+ public void mediaPlayerError(PlayerErrorEvent event) {
+ final AlertDialog.Builder errorDialog = new AlertDialog.Builder(getContext());
+ errorDialog.setTitle(R.string.error_label);
+ errorDialog.setMessage(event.getMessage());
+ errorDialog.setPositiveButton(android.R.string.ok, (dialog, which) ->
+ ((MainActivity) getActivity()).getBottomSheet().setState(BottomSheetBehavior.STATE_COLLAPSED));
+ if (!UserPreferences.useExoplayer()) {
+ errorDialog.setNeutralButton(R.string.media_player_switch_to_exoplayer, (dialog, which) -> {
+ UserPreferences.enableExoplayer();
+ ((MainActivity) getActivity()).showSnackbarAbovePlayer(
+ R.string.media_player_switched_to_exoplayer, Snackbar.LENGTH_LONG);
+ });
+ }
+ errorDialog.create().show();
+ }
+
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (controller == null || txtvLength == null) {