diff --git a/MusicApp/Resources/Portable Class/MusicPlayer.cs b/MusicApp/Resources/Portable Class/MusicPlayer.cs index b94ad2c..7ad0b39 100644 --- a/MusicApp/Resources/Portable Class/MusicPlayer.cs +++ b/MusicApp/Resources/Portable Class/MusicPlayer.cs @@ -1517,12 +1517,16 @@ namespace MusicApp.Resources.Portable_Class public void Stop(bool SaveQueue) { - Console.WriteLine("&Stopping with SaveQueue = " + SaveQueue); if (noisyRegistered) UnregisterReceiver(noisyReceiver); if (SaveQueue) { + ISharedPreferences pref = PreferenceManager.GetDefaultSharedPreferences(Application.Context); + ISharedPreferencesEditor editor = pref.Edit(); + editor.PutInt("currentID", currentID); + editor.Apply(); + if (player != null && CurrentPosition != 0) SaveTimer(CurrentPosition); } @@ -1535,6 +1539,7 @@ namespace MusicApp.Resources.Portable_Class queue = new List(); UpdateQueueDataBase(); + currentID = -1; MainActivity.instance?.HideSmallPlayer(); if (Home.adapterItems?.Count > 0 && Home.adapterItems[0]?.SectionTitle == "Queue") @@ -1548,7 +1553,6 @@ namespace MusicApp.Resources.Portable_Class noisyReceiver = null; noisyRegistered = false; isRunning = false; - currentID = -1; if (player != null) { player.Release(); diff --git a/MusicApp/Resources/Portable Class/Player.cs b/MusicApp/Resources/Portable Class/Player.cs index 6de58e8..ef73c91 100644 --- a/MusicApp/Resources/Portable Class/Player.cs +++ b/MusicApp/Resources/Portable Class/Player.cs @@ -727,7 +727,7 @@ namespace MusicApp else if(newState == BottomSheetBehavior.StateHidden) { movement = SheetMovement.Unknow; - if (MainActivity.instance.SkipStop) + if (!MainActivity.instance.SkipStop) { Intent intent = new Intent(context, typeof(MusicPlayer)); intent.SetAction("Stop"); diff --git a/MusicApp/Resources/Portable Class/YoutubeEngine.cs b/MusicApp/Resources/Portable Class/YoutubeEngine.cs index 7f9e940..9f5791e 100644 --- a/MusicApp/Resources/Portable Class/YoutubeEngine.cs +++ b/MusicApp/Resources/Portable Class/YoutubeEngine.cs @@ -933,9 +933,11 @@ namespace MusicApp.Resources.Portable_Class public static async void CreateMix(Song item) { + bool AddItemToQueue = true; if(MusicPlayer.queue.Count == 0) { Play(item.YoutubeID, item.Title, item.Artist, item.Album, true, true); + AddItemToQueue = false; } ProgressBar parseProgress = MainActivity.instance.FindViewById(Resource.Id.ytProgress); @@ -983,6 +985,8 @@ namespace MusicApp.Resources.Portable_Class Random r = new Random(); tracks = tracks.OrderBy(x => r.Next()).ToList(); + if(AddItemToQueue) + tracks.Add(item); Intent intent = new Intent(MainActivity.instance, typeof(MusicPlayer)); MainActivity.instance.StartService(intent);