diff options
author | Brad Stenning <stenning@google.com> | 2017-08-31 16:10:25 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-08-31 16:10:25 +0000 |
commit | ebf48522978b1fa51e769028766d8895da44105b (patch) | |
tree | 001019812b37f29f95a1c32933ae97c87d66fdd4 | |
parent | 55802ac267fb36f6901066fd31b6f5a4eddcc755 (diff) | |
parent | 5ccf13bb70738b0c21bcd9089851b960712d133c (diff) | |
download | LocalMediaPlayer-ebf48522978b1fa51e769028766d8895da44105b.tar.gz |
Use correct list for song shuffling.
am: 5ccf13bb70
Change-Id: Ib58bc42add0f8b859d45f3126f3ba952c88b4310
-rw-r--r-- | src/com/android/car/media/localmediaplayer/Player.java | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/com/android/car/media/localmediaplayer/Player.java b/src/com/android/car/media/localmediaplayer/Player.java index 7b3d151..9aa86be 100644 --- a/src/com/android/car/media/localmediaplayer/Player.java +++ b/src/com/android/car/media/localmediaplayer/Player.java @@ -510,18 +510,16 @@ public class Player extends MediaSession.Callback { } // rebuild the the queue in a shuffled form. - List<QueueItem> queue = mDataModel.getQueue(); - if (queue != null) { - QueueItem current = queue.remove(mCurrentQueueIdx); - Collections.shuffle(queue); - queue.add(0, current); + if (mQueue != null && mQueue.size() > 2) { + QueueItem current = mQueue.remove(mCurrentQueueIdx); + Collections.shuffle(mQueue); + mQueue.add(0, current); // A QueueItem contains a queue id that's used as the key for when the user selects // the current play list. This means the QueueItems must be rebuilt to have their new // id's set. - for (int i = 0; i < queue.size(); i++) { - queue.set(i, new QueueItem(queue.get(i).getDescription(), i)); + for (int i = 0; i < mQueue.size(); i++) { + mQueue.set(i, new QueueItem(mQueue.get(i).getDescription(), i)); } - mQueue = new ArrayList<>(queue); mCurrentQueueIdx = 0; updateSessionQueueState(); updatePlaybackStatePlaying(); |