diff --git a/samples/XCT.Sample.Android/SplashActivity.cs b/samples/XCT.Sample.Android/SplashActivity.cs index 2883e4e55..3ee7de1a2 100644 --- a/samples/XCT.Sample.Android/SplashActivity.cs +++ b/samples/XCT.Sample.Android/SplashActivity.cs @@ -1,4 +1,5 @@ -using Android.App; +#nullable enable +using Android.App; using Android.Content; using Android.Content.PM; using Android.OS; diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit.UnitTests/Xamarin.CommunityToolkit.UnitTests.csproj b/src/CommunityToolkit/Xamarin.CommunityToolkit.UnitTests/Xamarin.CommunityToolkit.UnitTests.csproj index 2839ce1cb..4bd4b72db 100644 --- a/src/CommunityToolkit/Xamarin.CommunityToolkit.UnitTests/Xamarin.CommunityToolkit.UnitTests.csproj +++ b/src/CommunityToolkit/Xamarin.CommunityToolkit.UnitTests/Xamarin.CommunityToolkit.UnitTests.csproj @@ -1,7 +1,7 @@  - netcoreapp2.1;netcoreapp3.1;net461 + netcoreapp3.1;net461 false diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit/Effects/StatusBar/PlatformStatusBarEffect.ios.cs b/src/CommunityToolkit/Xamarin.CommunityToolkit/Effects/StatusBar/PlatformStatusBarEffect.ios.cs index fc0cfabb1..bfc8ab90b 100644 --- a/src/CommunityToolkit/Xamarin.CommunityToolkit/Effects/StatusBar/PlatformStatusBarEffect.ios.cs +++ b/src/CommunityToolkit/Xamarin.CommunityToolkit/Effects/StatusBar/PlatformStatusBarEffect.ios.cs @@ -99,9 +99,9 @@ static void UpdateStatusBarAppearance() } } - static void UpdateStatusBarAppearance(UIWindow window) + static void UpdateStatusBarAppearance(UIWindow? window) { - var vc = window.RootViewController ?? throw new NullReferenceException(nameof(window.RootViewController)); + var vc = window?.RootViewController ?? throw new NullReferenceException(nameof(window.RootViewController)); while (vc.PresentedViewController != null) { vc = vc.PresentedViewController; diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit/Views/GravatarImageSource/Shared/GravatarImageSourceHandler.android.ios.macos.tizen.uwp.wpf.cs b/src/CommunityToolkit/Xamarin.CommunityToolkit/Views/GravatarImageSource/Shared/GravatarImageSourceHandler.android.ios.macos.tizen.uwp.wpf.cs index 473c8e182..d0bd9bd56 100644 --- a/src/CommunityToolkit/Xamarin.CommunityToolkit/Views/GravatarImageSource/Shared/GravatarImageSourceHandler.android.ios.macos.tizen.uwp.wpf.cs +++ b/src/CommunityToolkit/Xamarin.CommunityToolkit/Views/GravatarImageSource/Shared/GravatarImageSourceHandler.android.ios.macos.tizen.uwp.wpf.cs @@ -1,4 +1,5 @@ using System; +using System.Diagnostics; using System.IO; using System.Net.Http; using System.Security.Cryptography; @@ -12,8 +13,8 @@ namespace Xamarin.CommunityToolkit.UI.Views public partial class GravatarImageSourceHandler { const string requestUriFormat = "https://www.gravatar.com/avatar/{0}?s={1}&d={2}"; - static readonly Lazy lazyHttp = new Lazy(() => new HttpClient()); - static readonly SemaphoreSlim semaphore = new SemaphoreSlim(1); + static readonly Lazy lazyHttp = new(() => new HttpClient()); + static readonly SemaphoreSlim semaphore = new(1); public static async Task LoadInternal(ImageSource imageSource, float scale, string cacheDirectory) { @@ -26,7 +27,7 @@ public partial class GravatarImageSourceHandler { _ = gis.Email ?? throw new InvalidOperationException($"{nameof(gis.Email)} is not initialized"); var imageBytes = await GetGravatarAsync(gis.Email, gis.Size, scale, gis.Default); - await SaveImage(cacheFileInfo, imageBytes ?? Array.Empty()); + await SaveImage(cacheFileInfo, imageBytes); } return cacheFileInfo; @@ -67,7 +68,7 @@ static async Task UseCacheFile(bool cachingEnabled, TimeSpan cacheValidity { await semaphore.WaitAsync(); - if (!file.Directory.Exists) + if (file.Directory is { Exists: false }) file.Directory.Create(); } finally @@ -87,12 +88,20 @@ static string CacheFileName(GravatarImageSource gis, float scale) static async Task GetGravatarAsync(string email, int size, float scale, DefaultGravatar defaultGravatar) { var requestUri = GetGravatarUri(email, size, scale, defaultGravatar); - using var response = await lazyHttp.Value.GetAsync(requestUri); + try + { + using var response = await lazyHttp.Value.GetAsync(requestUri); - if (!response.IsSuccessStatusCode) - return Array.Empty(); + if (!response.IsSuccessStatusCode) + return Array.Empty(); - return await response.Content.ReadAsByteArrayAsync(); + return await response.Content.ReadAsByteArrayAsync().ConfigureAwait(false); + } + catch (Exception e) + { + Trace.WriteLine(e.Message); + return Array.Empty(); + } } static string GetGravatarUri(string email, int size, float scale, DefaultGravatar defaultGravatar) @@ -113,10 +122,9 @@ static string GetMd5Hash(string str) var sBuilder = new StringBuilder(); - if (hash != null) + foreach (var hashByte in hash) { - for (var i = 0; i < hash.Length; i++) - sBuilder.Append(hash[i].ToString("x2")); + sBuilder.Append(hashByte.ToString("x2")); } return sBuilder.ToString(); diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit/Views/MediaElement/iOS/MediaElementRenderer.ios.cs b/src/CommunityToolkit/Xamarin.CommunityToolkit/Views/MediaElement/iOS/MediaElementRenderer.ios.cs index fc0088f5a..3042a0729 100644 --- a/src/CommunityToolkit/Xamarin.CommunityToolkit/Views/MediaElement/iOS/MediaElementRenderer.ios.cs +++ b/src/CommunityToolkit/Xamarin.CommunityToolkit/Views/MediaElement/iOS/MediaElementRenderer.ios.cs @@ -312,6 +312,7 @@ void UpdateVolume() if (avPlayerViewController.Player != null) avPlayerViewController.Player.Volume = (float)Element.Volume; } + void UpdateSpeed() { if (avPlayerViewController.Player != null) diff --git a/src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Snackbar/SnackBar.ios.macos.cs b/src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Snackbar/SnackBar.ios.macos.cs index 614948f21..e87df647e 100644 --- a/src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Snackbar/SnackBar.ios.macos.cs +++ b/src/CommunityToolkit/Xamarin.CommunityToolkit/Views/Snackbar/SnackBar.ios.macos.cs @@ -1,7 +1,6 @@ using System; using System.Threading.Tasks; using Xamarin.CommunityToolkit.UI.Views.Helpers; -using Xamarin.CommunityToolkit.UI.Views.Helpers; using Xamarin.CommunityToolkit.UI.Views.Options; using Xamarin.CommunityToolkit.Views.Snackbar.Helpers; using Xamarin.Forms; diff --git a/src/Markup/Xamarin.CommunityToolkit.Markup.UnitTests/Xamarin.CommunityToolkit.Markup.UnitTests.csproj b/src/Markup/Xamarin.CommunityToolkit.Markup.UnitTests/Xamarin.CommunityToolkit.Markup.UnitTests.csproj index 5ea5cb2e1..b3c8ec995 100644 --- a/src/Markup/Xamarin.CommunityToolkit.Markup.UnitTests/Xamarin.CommunityToolkit.Markup.UnitTests.csproj +++ b/src/Markup/Xamarin.CommunityToolkit.Markup.UnitTests/Xamarin.CommunityToolkit.Markup.UnitTests.csproj @@ -1,7 +1,7 @@  - netcoreapp2.1;netcoreapp3.1;net461 + netcoreapp3.1;net461 false