diff options
author | ByteHamster <ByteHamster@users.noreply.github.com> | 2021-03-08 10:15:20 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-08 10:15:20 +0100 |
commit | a49b4477a9abd6fdebb1241ba25d0e69975203a7 (patch) | |
tree | 3fe4913c0066827aa14f0762db294906e47ec8be | |
parent | 14c81265dcfcd2107a8c79172ca6506ddc75f803 (diff) | |
parent | 5429d858efcd69f598cc053cc28503a3e65833f7 (diff) | |
download | AntennaPod-a49b4477a9abd6fdebb1241ba25d0e69975203a7.zip |
Merge pull request #5010 from ByteHamster/crash-fix
Various crash fixes reported in the beta
4 files changed, 14 insertions, 11 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 697624337..074ea0c1c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -137,13 +137,6 @@ </intent-filter> </activity> - <service - android:name=".core.service.PlayerWidgetJobService" - android:permission="android.permission.BIND_JOB_SERVICE" - android:enabled="true" - android:exported="false"> - </service> - <receiver android:name=".core.receiver.PlayerWidget" android:exported="true"> diff --git a/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java b/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java index d4b32ee06..8380d8626 100644 --- a/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java +++ b/app/src/main/java/de/danoeh/antennapod/adapter/ChaptersListAdapter.java @@ -53,6 +53,10 @@ public class ChaptersListAdapter extends RecyclerView.Adapter<ChaptersListAdapte @Override public void onBindViewHolder(@NonNull ChapterHolder holder, int position) { Chapter sc = getItem(position); + if (sc == null) { + holder.title.setText("Error"); + return; + } holder.title.setText(sc.getTitle()); holder.start.setText(Converter.getDurationStringLong((int) sc .getStart())); diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java b/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java index 9a8248984..8d3633b24 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java +++ b/core/src/main/java/de/danoeh/antennapod/core/service/playback/ExoPlayerWrapper.java @@ -105,7 +105,9 @@ public class ExoPlayerWrapper implements IPlayer { @Override public void onSeekProcessed() { - audioSeekCompleteListener.onSeekComplete(null); + if (audioSeekCompleteListener != null) { + audioSeekCompleteListener.onSeekComplete(null); + } } }); } @@ -174,7 +176,9 @@ public class ExoPlayerWrapper implements IPlayer { @Override public void seekTo(int i) throws IllegalStateException { exoPlayer.seekTo(i); - audioSeekCompleteListener.onSeekComplete(null); + if (audioSeekCompleteListener != null) { + audioSeekCompleteListener.onSeekComplete(null); + } } @Override diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/playback/PlaybackController.java b/core/src/main/java/de/danoeh/antennapod/core/util/playback/PlaybackController.java index 117e32cd4..132919230 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/util/playback/PlaybackController.java +++ b/core/src/main/java/de/danoeh/antennapod/core/util/playback/PlaybackController.java @@ -208,7 +208,9 @@ public abstract class PlaybackController { handleStatus(); } else { Log.w(TAG, "Couldn't receive status update: playbackService was null"); - bindToService(); + if (PlaybackService.isRunning) { + bindToService(); + } } } }; @@ -232,7 +234,7 @@ public abstract class PlaybackController { onBufferUpdate(progress); break; case PlaybackService.NOTIFICATION_TYPE_RELOAD: - if (playbackService == null) { + if (playbackService == null && PlaybackService.isRunning) { bindToService(); return; } |