From 75614649b641935b7c76804eb009894175b0d432 Mon Sep 17 00:00:00 2001 From: Tristan Roux Date: Mon, 18 Feb 2019 23:26:10 +0100 Subject: [PATCH] Solving a bug with the queue refresh current method. --- MusicApp/Resources/Portable Class/Queue.cs | 25 ++++++++++++---------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/MusicApp/Resources/Portable Class/Queue.cs b/MusicApp/Resources/Portable Class/Queue.cs index 61e831d..f1936eb 100644 --- a/MusicApp/Resources/Portable Class/Queue.cs +++ b/MusicApp/Resources/Portable Class/Queue.cs @@ -96,20 +96,23 @@ public class Queue : Fragment int last = ((LinearLayoutManager)ListView.GetLayoutManager()).FindLastVisibleItemPosition() - 1; for (int i = first; i <= last; i++) { - Song song = MusicPlayer.queue[i]; - RecyclerHolder holder = (RecyclerHolder)ListView.GetChildViewHolder(((LinearLayoutManager)ListView.GetLayoutManager()).FindViewByPosition(i)); - if (MusicPlayer.queue[MusicPlayer.CurrentID() + 1] == song) + if(i > 0) { - holder.status.Visibility = ViewStates.Visible; - holder.status.SetTextColor(MusicPlayer.isRunning ? Color.Argb(255, 244, 81, 30) : Color.Argb(255, 66, 165, 245)); + Song song = MusicPlayer.queue[i - 1]; + RecyclerHolder holder = (RecyclerHolder)ListView.GetChildViewHolder(((LinearLayoutManager)ListView.GetLayoutManager()).FindViewByPosition(i)); + if (MusicPlayer.queue[MusicPlayer.CurrentID()] == song) + { + holder.status.Visibility = ViewStates.Visible; + holder.status.SetTextColor(MusicPlayer.isRunning ? Color.Argb(255, 244, 81, 30) : Color.Argb(255, 66, 165, 245)); - string status = MusicPlayer.isRunning ? GetString(Resource.String.playing) : GetString(Resource.String.paused); - SpannableString statusText = new SpannableString(status); - statusText.SetSpan(new BackgroundColorSpan(Color.ParseColor("#8C000000")), 0, status.Length, SpanTypes.InclusiveInclusive); - holder.status.TextFormatted = statusText; + string status = MusicPlayer.isRunning ? GetString(Resource.String.playing) : GetString(Resource.String.paused); + SpannableString statusText = new SpannableString(status); + statusText.SetSpan(new BackgroundColorSpan(Color.ParseColor("#8C000000")), 0, status.Length, SpanTypes.InclusiveInclusive); + holder.status.TextFormatted = statusText; + } + else + holder.status.Visibility = ViewStates.Gone; } - else - holder.status.Visibility = ViewStates.Gone; } }