diff options
-rw-r--r-- | src/com/cyngn/eleven/MusicPlaybackService.java | 11 | ||||
-rw-r--r-- | src/com/cyngn/eleven/ui/fragments/AudioPlayerFragment.java | 5 |
2 files changed, 10 insertions, 6 deletions
diff --git a/src/com/cyngn/eleven/MusicPlaybackService.java b/src/com/cyngn/eleven/MusicPlaybackService.java index 674a3a4..3a202d1 100644 --- a/src/com/cyngn/eleven/MusicPlaybackService.java +++ b/src/com/cyngn/eleven/MusicPlaybackService.java @@ -1223,13 +1223,12 @@ public class MusicPlaybackService extends Service { } } - // if we've played each track at least once - if (minNumPlays > 0) { - // if we aren't repeating all and we're not forcing a track - // return no more tracks - if (mRepeatMode != REPEAT_ALL && !force) { + // if we've played each track at least once and all tracks have been played an equal + // # of times and we aren't repeating all and we're not forcing a track, then + // return no more tracks + if (minNumPlays > 0 && numTracksWithMinNumPlays == numTracks + && mRepeatMode != REPEAT_ALL && !force) { return -1; - } } // else pick a track from the least number of played tracks diff --git a/src/com/cyngn/eleven/ui/fragments/AudioPlayerFragment.java b/src/com/cyngn/eleven/ui/fragments/AudioPlayerFragment.java index 1a2d966..5fd0ca3 100644 --- a/src/com/cyngn/eleven/ui/fragments/AudioPlayerFragment.java +++ b/src/com/cyngn/eleven/ui/fragments/AudioPlayerFragment.java @@ -769,6 +769,11 @@ public class AudioPlayerFragment extends Fragment implements ServiceConnection, final AudioPlayerFragment audioPlayerFragment = mReference.get(); final String action = intent.getAction(); if (action.equals(MusicPlaybackService.META_CHANGED)) { + // if we are repeating current and the track has changed, re-create the adapter + if (MusicUtils.getRepeatMode() == MusicPlaybackService.REPEAT_CURRENT) { + mReference.get().createAndSetAdapter(); + } + // Current info audioPlayerFragment.updateNowPlayingInfo(); audioPlayerFragment.dismissPopupMenu(); |