public static void ShuffleAll(Context context)
        {
            var cursor    = SongLoader.CreateSongCursor(context, null, null);
            var trackList = SongLoader.GetSongListByCursor(cursor);
            var position  = 0;

            if (trackList.Length == 0 || Service == null)
            {
                return;
            }
            try
            {
                Service.SetShuffleMode(MusicService.SHUFFLE_NORMAL);
                var mCurrentId            = Service.GetAudioId();
                var mCurrentQueuePosition = GetQueuePosition();
                if (position != -1 && mCurrentQueuePosition == position &&
                    mCurrentId == trackList[position])
                {
                    var playlist = GetQueue();
                    if (Equals(trackList, playlist))
                    {
                        Service.Play();
                        return;
                    }
                }
                Service.Open(trackList, -1, -1, (int)MusicUtils.SourceTypeId.NA);
                Service.Play();
                cursor.Close();
                cursor = null;
            }
            catch { }
        }