From 8ee88580984bd2d64735322e55903144d50d1cb9 Mon Sep 17 00:00:00 2001 From: Andrew Rabert Date: Sat, 28 Dec 2019 11:04:37 -0500 Subject: [PATCH] Revert "Stop looping over unplayable songs" This reverts commit 22c98d9606a3adc1feade37ebef00754b6c725d4. --- .../nullsum/audinaut/service/DownloadService.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/net/nullsum/audinaut/service/DownloadService.java b/app/src/main/java/net/nullsum/audinaut/service/DownloadService.java index c68edce..f98004b 100644 --- a/app/src/main/java/net/nullsum/audinaut/service/DownloadService.java +++ b/app/src/main/java/net/nullsum/audinaut/service/DownloadService.java @@ -1370,10 +1370,15 @@ public class DownloadService extends Service { final int duration = downloadFile.getSong().getDuration() == null ? 0 : downloadFile.getSong().getDuration() * 1000; mediaPlayer.setOnErrorListener((mediaPlayer, what, extra) -> { Log.w(TAG, "Error on playing file " + "(" + what + ", " + extra + "): " + downloadFile); - int index = getNextPlayingIndex(); - remove(downloadFile); - downloadFile.delete(); - play(index - 1); + int pos = getPlayerPosition(); + reset(); + if (!isPartial || (downloadFile.isWorkDone() && (Math.abs(duration - pos) < 10000))) { + playNext(); + } else { + downloadFile.setPlaying(false); + doPlay(downloadFile, pos, isPlaying); + downloadFile.setPlaying(true); + } return true; });