mirror of
https://github.com/zoriya/Opus.git
synced 2025-12-06 06:26:15 +00:00
Solving bugs, reworking navigation bar style and working on the new repeat button.
This commit is contained in:
@@ -539,8 +539,6 @@ namespace Opus.Resources.Portable_Class
|
||||
}
|
||||
}
|
||||
|
||||
Player.instance?.RefreshPlayer();
|
||||
|
||||
if (!song.IsLiveStream)
|
||||
song.ExpireDate = mediaStreamInfo.ValidUntil;
|
||||
|
||||
@@ -1024,6 +1022,29 @@ namespace Opus.Resources.Portable_Class
|
||||
SwitchQueue(CurrentID() - 1);
|
||||
}
|
||||
|
||||
public static void Repeat()
|
||||
{
|
||||
repeat = !repeat;
|
||||
|
||||
if (UseCastPlayer)
|
||||
RemotePlayer.QueueSetRepeatMode(repeat ? 1 : 0, null);
|
||||
|
||||
if (repeat)
|
||||
{
|
||||
Queue.instance?.NotifyItemChanged(-1, "Repeat");
|
||||
Player.instance?.Repeat(true);
|
||||
useAutoPlay = false;
|
||||
Queue.instance?.NotifyItemChanged(queue.Count, "UseAutoplay");
|
||||
}
|
||||
else
|
||||
{
|
||||
Queue.instance?.NotifyItemChanged(-1, "Repeat");
|
||||
Player.instance?.Repeat(false);
|
||||
useAutoPlay = true;
|
||||
Queue.instance?.NotifyItemChanged(queue.Count, "UseAutoplay");
|
||||
}
|
||||
}
|
||||
|
||||
public void PlayNext()
|
||||
{
|
||||
Player.instance.playNext = true;
|
||||
@@ -1095,6 +1116,7 @@ namespace Opus.Resources.Portable_Class
|
||||
{
|
||||
currentID = position;
|
||||
Queue.instance?.RefreshCurrent();
|
||||
Player.instance?.RefreshPlayer();
|
||||
}
|
||||
else
|
||||
Player.instance?.Ready(); //Remove player's loading bar since we'll not load this song
|
||||
|
||||
@@ -57,7 +57,7 @@ namespace Opus
|
||||
view.FindViewById<ImageButton>(Resource.Id.playButton).Click += Play_Click;
|
||||
view.FindViewById<ImageButton>(Resource.Id.nextButton).Click += Next_Click;
|
||||
view.FindViewById<ImageButton>(Resource.Id.moreButton).Click += More;
|
||||
view.FindViewById<ImageButton>(Resource.Id.repeat).Click += Repeat;
|
||||
view.FindViewById<ImageButton>(Resource.Id.repeat).Click += (sender, e) => { MusicPlayer.Repeat(); };
|
||||
view.FindViewById<ImageButton>(Resource.Id.fav).Click += Fav;
|
||||
}
|
||||
|
||||
@@ -366,25 +366,12 @@ namespace Opus
|
||||
MainActivity.instance.StartService(intent);
|
||||
}
|
||||
|
||||
private void Repeat(object sender, EventArgs e)
|
||||
public void Repeat(bool repeat)
|
||||
{
|
||||
MusicPlayer.repeat = !MusicPlayer.repeat;
|
||||
|
||||
if (MusicPlayer.UseCastPlayer)
|
||||
MusicPlayer.RemotePlayer.QueueSetRepeatMode(MusicPlayer.repeat ? 1 : 0, null);
|
||||
|
||||
if (MusicPlayer.repeat)
|
||||
{
|
||||
MainActivity.instance.FindViewById<ImageButton>(Resource.Id.repeat).SetColorFilter(Color.Argb(255, 21, 183, 237), PorterDuff.Mode.Multiply);
|
||||
MusicPlayer.useAutoPlay = false;
|
||||
Queue.instance.NotifyItemChanged(MusicPlayer.queue.Count, "UseAutoplay");
|
||||
}
|
||||
if(repeat)
|
||||
MainActivity.instance.FindViewById<ImageButton>(Resource.Id.repeat)?.SetColorFilter(Color.Argb(255, 21, 183, 237), PorterDuff.Mode.Multiply);
|
||||
else
|
||||
{
|
||||
MainActivity.instance.FindViewById<ImageButton>(Resource.Id.repeat).ClearColorFilter();
|
||||
MusicPlayer.useAutoPlay = true;
|
||||
Queue.instance.NotifyItemChanged(MusicPlayer.queue.Count, "UseAutoplay");
|
||||
}
|
||||
MainActivity.instance?.FindViewById<ImageButton>(Resource.Id.repeat)?.ClearColorFilter();
|
||||
}
|
||||
|
||||
private void Fav(object sender, EventArgs e)
|
||||
|
||||
@@ -43,22 +43,35 @@ namespace Opus.Resources.Portable_Class
|
||||
Finish();
|
||||
else if (DownloadFragment.instance != null)
|
||||
{
|
||||
ISharedPreferences prefManager = PreferenceManager.GetDefaultSharedPreferences(this);
|
||||
ISharedPreferencesEditor editor = prefManager.Edit();
|
||||
editor.PutString("downloadPath", DownloadFragment.instance.path);
|
||||
editor.Apply();
|
||||
Preference downloadPref = PreferencesFragment.instance.PreferenceScreen.FindPreference("downloadPath");
|
||||
downloadPref.Summary = DownloadFragment.instance.path ?? Environment.GetExternalStoragePublicDirectory(Environment.DirectoryMusic).ToString();
|
||||
PreferencesFragment.instance.path = DownloadFragment.instance.path;
|
||||
|
||||
DownloadFragment.instance = null;
|
||||
SupportFragmentManager.PopBackStack();
|
||||
DownloadFolderBack();
|
||||
}
|
||||
};
|
||||
|
||||
SupportFragmentManager.BeginTransaction().Replace(Resource.Id.PreferenceFragment, new PreferencesFragment()).Commit();
|
||||
}
|
||||
|
||||
public override void OnBackPressed()
|
||||
{
|
||||
if (DownloadFragment.instance != null)
|
||||
DownloadFolderBack();
|
||||
else
|
||||
base.OnBackPressed();
|
||||
}
|
||||
|
||||
private void DownloadFolderBack()
|
||||
{
|
||||
ISharedPreferences prefManager = PreferenceManager.GetDefaultSharedPreferences(this);
|
||||
ISharedPreferencesEditor editor = prefManager.Edit();
|
||||
editor.PutString("downloadPath", DownloadFragment.instance.path);
|
||||
editor.Apply();
|
||||
Preference downloadPref = PreferencesFragment.instance.PreferenceScreen.FindPreference("downloadPath");
|
||||
downloadPref.Summary = DownloadFragment.instance.path ?? Environment.GetExternalStoragePublicDirectory(Environment.DirectoryMusic).ToString();
|
||||
PreferencesFragment.instance.path = DownloadFragment.instance.path;
|
||||
|
||||
DownloadFragment.instance = null;
|
||||
SupportFragmentManager.PopBackStack();
|
||||
}
|
||||
|
||||
protected override void OnStop()
|
||||
{
|
||||
base.OnStop();
|
||||
|
||||
@@ -42,29 +42,15 @@ namespace Opus.Resources.Portable_Class
|
||||
MainActivity.instance.StartService(intent);
|
||||
};
|
||||
}
|
||||
|
||||
if (MusicPlayer.repeat)
|
||||
holder.Repeat.SetColorFilter(Color.Argb(255, 21, 183, 237), PorterDuff.Mode.Multiply);
|
||||
else
|
||||
holder.Repeat.ClearColorFilter();
|
||||
|
||||
if (!holder.Repeat.HasOnClickListeners)
|
||||
{
|
||||
holder.Repeat.Click += (sender, e) =>
|
||||
{
|
||||
MusicPlayer.repeat = !MusicPlayer.repeat;
|
||||
holder.Repeat.Click += (sender, e) => { MusicPlayer.Repeat(); };
|
||||
|
||||
if (MusicPlayer.UseCastPlayer)
|
||||
MusicPlayer.RemotePlayer.QueueSetRepeatMode(MusicPlayer.repeat ? 1 : 0, null);
|
||||
|
||||
if (MusicPlayer.repeat)
|
||||
{
|
||||
holder.Repeat.SetColorFilter(Color.Argb(255, 21, 183, 237), PorterDuff.Mode.Multiply);
|
||||
MusicPlayer.useAutoPlay = false;
|
||||
NotifyItemChanged(ItemCount - 1, "UseAutoplay");
|
||||
}
|
||||
else
|
||||
{
|
||||
holder.Repeat.ClearColorFilter();
|
||||
MusicPlayer.useAutoPlay = true;
|
||||
NotifyItemChanged(ItemCount - 1, "UseAutoplay");
|
||||
}
|
||||
};
|
||||
}
|
||||
if (!holder.More.HasOnClickListeners)
|
||||
{
|
||||
holder.More.Click += (sender, e) =>
|
||||
@@ -263,7 +249,16 @@ namespace Opus.Resources.Portable_Class
|
||||
{
|
||||
if (payloads.Count > 0)
|
||||
{
|
||||
if(payloads[0].ToString() == "UseAutoplay")
|
||||
if (payloads[0].ToString() == "Repeat")
|
||||
{
|
||||
QueueHeader holder = (QueueHeader)viewHolder;
|
||||
|
||||
if (MusicPlayer.repeat)
|
||||
holder.Repeat.SetColorFilter(Color.Argb(255, 21, 183, 237), PorterDuff.Mode.Multiply);
|
||||
else
|
||||
holder.Repeat.ClearColorFilter();
|
||||
}
|
||||
else if (payloads[0].ToString() == "UseAutoplay")
|
||||
{
|
||||
QueueFooter holder = (QueueFooter)viewHolder;
|
||||
holder.SwitchButton.Checked = MusicPlayer.useAutoPlay;
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
<item name="android:windowActivityTransitions">true</item>
|
||||
<item name="android:windowContentTransitions">true</item>
|
||||
<item name="android:windowTranslucentStatus">true</item>
|
||||
<item name="android:navigationBarColor">#ffffff</item>
|
||||
<item name="android:dropDownListViewStyle">@style/LightDropDown</item>
|
||||
<item name="preferenceTheme">@style/LightPreferences</item>
|
||||
<item name="colorAccent">#A3BBDC</item>
|
||||
|
||||
Reference in New Issue
Block a user