diff options
Diffstat (limited to 'src/github')
-rw-r--r-- | src/github/daneren2005/dsub/util/ShufflePlayBuffer.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/github/daneren2005/dsub/util/ShufflePlayBuffer.java b/src/github/daneren2005/dsub/util/ShufflePlayBuffer.java index c28e24a3..de1be13a 100644 --- a/src/github/daneren2005/dsub/util/ShufflePlayBuffer.java +++ b/src/github/daneren2005/dsub/util/ShufflePlayBuffer.java @@ -49,7 +49,8 @@ public class ShufflePlayBuffer { private boolean firstRun = true; private final ArrayList<MusicDirectory.Entry> buffer = new ArrayList<MusicDirectory.Entry>(); private int lastCount = -1; - private Context context; + private DownloadService context; + private boolean awaitingResults = false; private SharedPreferences.OnSharedPreferenceChangeListener listener; private int currentServer; @@ -58,7 +59,7 @@ public class ShufflePlayBuffer { private String startYear = ""; private String endYear = ""; - public ShufflePlayBuffer(Context context) { + public ShufflePlayBuffer(DownloadService context) { this.context = context; executorService = Executors.newSingleThreadScheduledExecutor(); @@ -90,6 +91,9 @@ public class ShufflePlayBuffer { } } Log.i(TAG, "Taking " + result.size() + " songs from shuffle play buffer. " + buffer.size() + " remaining."); + if(result.isEmpty()) { + awaitingResults = true; + } return result; } @@ -139,6 +143,11 @@ public class ShufflePlayBuffer { } Log.w(TAG, "Failed to refill shuffle play buffer.", x); } + + if(awaitingResults) { + awaitingResults = false; + context.checkDownloads(); + } } private void clearBufferIfnecessary() { |