/** Reload the queue after we remove a track */
 private void reloadQueueCursor() {
   if (mPlaylistId == PLAYLIST_QUEUE) {
     String[] cols =
         new String[] {
           BaseColumns._ID,
           MediaColumns.TITLE,
           MediaColumns.DATA,
           AudioColumns.ALBUM,
           AudioColumns.ARTIST,
           AudioColumns.ARTIST_ID
         };
     StringBuilder selection = new StringBuilder();
     selection.append(AudioColumns.IS_MUSIC + "=1");
     selection.append(" AND " + MediaColumns.TITLE + " != ''");
     Uri uri = Audio.Media.EXTERNAL_CONTENT_URI;
     long[] mNowPlaying = MusicUtils.getQueue();
     if (mNowPlaying.length == 0) {}
     selection = new StringBuilder();
     selection.append(BaseColumns._ID + " IN (");
     for (int i = 0; i < mNowPlaying.length; i++) {
       selection.append(mNowPlaying[i]);
       if (i < mNowPlaying.length - 1) {
         selection.append(",");
       }
     }
     selection.append(")");
     mCursor = MusicUtils.query(getActivity(), uri, cols, selection.toString(), null, null);
     mTrackAdapter.changeCursor(mCursor);
   }
 }
 /** Shuffle all the tracks */
 public void shuffleAll() {
   Uri uri = Audio.Media.EXTERNAL_CONTENT_URI;
   String[] projection = new String[] {BaseColumns._ID};
   String selection = AudioColumns.IS_MUSIC + "=1";
   String sortOrder = Audio.Media.DEFAULT_SORT_ORDER;
   Cursor cursor = MusicUtils.query(this, uri, projection, selection, null, sortOrder);
   if (cursor != null) {
     MusicUtils.shuffleAll(this, cursor);
     cursor.close();
     cursor = null;
   }
 }