diff --git a/Opus/Assets/Version.txt b/Opus/Assets/Version.txt index bce98d0..a75a778 100644 --- a/Opus/Assets/Version.txt +++ b/Opus/Assets/Version.txt @@ -1,3 +1,3 @@ -Version: 3.5.3 +Version: 3.5.4 Beta: False -Link: https://github.com/AnonymusRaccoon/Opus/releases/download/3.5.3/Opus.v3.5.3.apk +Link: https://github.com/AnonymusRaccoon/Opus/releases/download/3.5.4/Opus.v3.5.4.apk diff --git a/Opus/Code/Api/Services/Downloader.cs b/Opus/Code/Api/Services/Downloader.cs index 4498eb1..fd090dc 100644 --- a/Opus/Code/Api/Services/Downloader.cs +++ b/Opus/Code/Api/Services/Downloader.cs @@ -114,18 +114,22 @@ namespace Opus.Api.Services instance.downloadPath = downloadPath; instance.maxDownload = prefManager.GetInt("maxDownload", 4); + + const string permission = Manifest.Permission.WriteExternalStorage; + if (Android.Support.V4.Content.ContextCompat.CheckSelfPermission(instance, permission) != (int)Permission.Granted) + { + string[] permissions = new string[] { permission }; + MainActivity.instance.RequestPermissions(permissions, RequestCode); + + await Task.Delay(1000); + while (Android.Support.V4.Content.ContextCompat.CheckSelfPermission(instance, permission) != (int)Permission.Granted) + await Task.Delay(500); + } } #region Downloading of the queue public async void StartDownload() { - System.Console.WriteLine("&Queue count: " + queue.Count); - foreach (var item in queue) - { - System.Console.WriteLine("&Item: " + item.Name + " State: " + item.State.ToString()); - } - - while (downloadCount < maxDownload && queue.Count(x => x.State == DownloadState.None) > 0) { System.Console.WriteLine("&Initiating the download of a song"); @@ -147,16 +151,6 @@ namespace Opus.Api.Services queue[position].State = DownloadState.Initialization; UpdateList(position); - const string permission = Manifest.Permission.WriteExternalStorage; - if (Android.Support.V4.Content.ContextCompat.CheckSelfPermission(this, permission) != (int)Permission.Granted) - { - string[] permissions = new string[] { permission }; - MainActivity.instance.RequestPermissions(permissions, RequestCode); - - await Task.Delay(1000); - while (Android.Support.V4.Content.ContextCompat.CheckSelfPermission(this, permission) != (int)Permission.Granted) - await Task.Delay(500); - } while (downloadCount >= maxDownload) await Task.Delay(1000); @@ -183,7 +177,7 @@ namespace Opus.Api.Services if (queue.Count != 0) DownloadAudio(queue.FindIndex(x => x.State == DownloadState.None), path); - Playlist.instance?.CheckForSync(); + Playlist.instance?.Activity.RunOnUiThread(() => { Playlist.instance.CheckForSync(); }); return; } @@ -248,7 +242,7 @@ namespace Opus.Api.Services if (queue.Count != 0) DownloadAudio(queue.FindIndex(x => x.State == DownloadState.None), path); - Playlist.instance?.CheckForSync(); + Playlist.instance?.Activity.RunOnUiThread(() => { Playlist.instance.CheckForSync(); }); } catch (System.Net.Http.HttpRequestException) { @@ -282,7 +276,7 @@ namespace Opus.Api.Services meta.Tag.Album = title + " - " + artist; meta.Tag.Comment = queue[position].YoutubeID; IPicture[] pictures = new IPicture[1]; - Bitmap bitmap = Picasso.With(Application.Context).Load(await YoutubeManager.GetBestThumb(thumbnails)).Transform(new RemoveBlackBorder(true)).MemoryPolicy(MemoryPolicy.NoCache).Get(); + Bitmap bitmap = Picasso.With(this).Load(await YoutubeManager.GetBestThumb(thumbnails)).Transform(new RemoveBlackBorder(true)).MemoryPolicy(MemoryPolicy.NoCache).Get(); byte[] data; using (var MemoryStream = new MemoryStream()) { diff --git a/Opus/Code/MainActivity.cs b/Opus/Code/MainActivity.cs index 2cfa4ab..1f7494e 100644 --- a/Opus/Code/MainActivity.cs +++ b/Opus/Code/MainActivity.cs @@ -438,19 +438,24 @@ namespace Opus public void Navigate(int layout) { contentRefresh.Refreshing = false; - if (YoutubeSearch.instances != null) + + if(menu?.FindItem(Resource.Id.search)?.IsActionViewExpanded == true) { var searchView = menu.FindItem(Resource.Id.search).ActionView.JavaCast(); menu.FindItem(Resource.Id.search).CollapseActionView(); searchView.ClearFocus(); searchView.Iconified = true; searchView.SetQuery("", false); - SupportActionBar.SetDisplayHomeAsUpEnabled(false); + } + if (YoutubeSearch.instances != null) + { + SupportActionBar.SetDisplayHomeAsUpEnabled(false); SupportFragmentManager.PopBackStack(null, Android.Support.V4.App.FragmentManager.PopBackStackInclusive); } - FindViewById(Resource.Id.toolbarLogo).Visibility = ViewStates.Visible; + if(FindViewById(Resource.Id.toolbarLogo) != null) + FindViewById(Resource.Id.toolbarLogo).Visibility = ViewStates.Visible; if (PlaylistTracks.instance != null) { diff --git a/Opus/Opus.csproj b/Opus/Opus.csproj index a618928..a89bdbd 100644 --- a/Opus/Opus.csproj +++ b/Opus/Opus.csproj @@ -296,34 +296,34 @@ ..\packages\Xamarin.Android.Support.ViewPager.28.0.0.1\lib\monoandroid90\Xamarin.Android.Support.ViewPager.dll - ..\packages\Xamarin.GooglePlayServices.Auth.71.1600.0-preview9\lib\monoandroid90\Xamarin.GooglePlayServices.Auth.dll + ..\packages\Xamarin.GooglePlayServices.Auth.71.1600.0\lib\monoandroid90\Xamarin.GooglePlayServices.Auth.dll - ..\packages\Xamarin.GooglePlayServices.Auth.Api.Phone.71.1600.0-preview9\lib\monoandroid90\Xamarin.GooglePlayServices.Auth.Api.Phone.dll + ..\packages\Xamarin.GooglePlayServices.Auth.Api.Phone.71.1600.0\lib\monoandroid90\Xamarin.GooglePlayServices.Auth.Api.Phone.dll - ..\packages\Xamarin.GooglePlayServices.Auth.Base.71.1600.0-preview9\lib\monoandroid90\Xamarin.GooglePlayServices.Auth.Base.dll + ..\packages\Xamarin.GooglePlayServices.Auth.Base.71.1600.0\lib\monoandroid90\Xamarin.GooglePlayServices.Auth.Base.dll - ..\packages\Xamarin.GooglePlayServices.Base.71.1610.0-preview9\lib\monoandroid90\Xamarin.GooglePlayServices.Base.dll + ..\packages\Xamarin.GooglePlayServices.Base.71.1610.0\lib\monoandroid90\Xamarin.GooglePlayServices.Base.dll - ..\packages\Xamarin.GooglePlayServices.Basement.71.1620.0-preview9\lib\monoandroid90\Xamarin.GooglePlayServices.Basement.dll + ..\packages\Xamarin.GooglePlayServices.Basement.71.1620.0\lib\monoandroid90\Xamarin.GooglePlayServices.Basement.dll - ..\packages\Xamarin.GooglePlayServices.Cast.71.1602.0-preview9\lib\monoandroid90\Xamarin.GooglePlayServices.Cast.dll + ..\packages\Xamarin.GooglePlayServices.Cast.71.1602.0\lib\monoandroid90\Xamarin.GooglePlayServices.Cast.dll - ..\packages\Xamarin.GooglePlayServices.Cast.Framework.71.1602.0-preview9\lib\monoandroid90\Xamarin.GooglePlayServices.Cast.Framework.dll + ..\packages\Xamarin.GooglePlayServices.Cast.Framework.71.1602.0\lib\monoandroid90\Xamarin.GooglePlayServices.Cast.Framework.dll - ..\packages\Xamarin.GooglePlayServices.Flags.71.1601.0-preview9\lib\monoandroid90\Xamarin.GooglePlayServices.Flags.dll + ..\packages\Xamarin.GooglePlayServices.Flags.71.1601.0\lib\monoandroid90\Xamarin.GooglePlayServices.Flags.dll - ..\packages\Xamarin.GooglePlayServices.Tasks.71.1601.0-preview9\lib\monoandroid90\Xamarin.GooglePlayServices.Tasks.dll + ..\packages\Xamarin.GooglePlayServices.Tasks.71.1601.0\lib\monoandroid90\Xamarin.GooglePlayServices.Tasks.dll - - ..\packages\YoutubeExplode.4.7.6\lib\netstandard2.0\YoutubeExplode.dll + + ..\packages\YoutubeExplode.4.7.7\lib\netstandard2.0\YoutubeExplode.dll @@ -958,15 +958,15 @@ - - - - - - - - - + + + + + + + + + @@ -1008,15 +1008,15 @@ - - - - - - - - - + + + + + + + + +