From d110581f526eeb84411f57166f070c5b47b77a31 Mon Sep 17 00:00:00 2001 From: Jerome Laban Date: Sat, 11 Sep 2021 14:02:05 -0400 Subject: [PATCH] feat: Upgrade to .NET 6 RC1 --- build/ci/templates/dotnet6-install-mac.yml | 11 +++- .../ci/templates/dotnet6-install-windows.yml | 17 +++-- .../LottieVisualSourceBase.Android.cs | 62 +------------------ .../Uno.UI.Lottie/Uno.UI.Lottie.net6.csproj | 3 +- .../Uno.UI.MSAL/Uno.UI.MSAL.net6.csproj | 7 +++ src/Directory.Build.props | 7 ++- src/Directory.Build.targets | 5 +- .../Android/MainActivity.Android.cs | 1 - .../SamplesApp.net6mobile.csproj | 13 +++- src/Uno.CrossTargetting.props | 3 + src/Uno.Foundation/Uno.Foundation.net6.csproj | 1 - .../Uno.UI.RuntimeTests.net6.csproj | 6 ++ src/Uno.UI/BaseActivity.Android.cs | 2 +- .../Android/AndroidStockBlur.Android.cs | 6 +- src/Uno.UI/UI/Xaml/UIElement.Android.cs | 4 ++ src/Uno.UI/UI/Xaml/UIElement.Pointers.iOS.cs | 2 +- .../Internal/CallStateListener.Android.cs | 2 + .../Calls/PhoneCallManager.Android.cs | 6 ++ .../Display/DisplayInformation.Android.cs | 2 + .../Connectivity/ConnectionProfile.Android.cs | 2 + .../Notification/VibrationDevice.Android.cs | 2 + src/Uno.UWP/Uno.net6.csproj | 20 ------ 22 files changed, 81 insertions(+), 103 deletions(-) diff --git a/build/ci/templates/dotnet6-install-mac.yml b/build/ci/templates/dotnet6-install-mac.yml index f988fbba44b8..a227d7129339 100644 --- a/build/ci/templates/dotnet6-install-mac.yml +++ b/build/ci/templates/dotnet6-install-mac.yml @@ -1,7 +1,7 @@ parameters: - DotNetVersion: '6.0.100-preview.6.21355.2' - MauiCheck_Version: '0.6.1' - MauiCheck_Manifest: 'https://raw.githubusercontent.com/Redth/dotnet-maui-check/556b43a8b9df5ea1e65eb6b9b3ea8854a91fceed/manifests/maui-preview.manifest.json' + DotNetVersion: '6.0.100-rc.1.21452.64' + MauiCheck_Version: '0.8.5' + MauiCheck_Manifest: 'https://raw.githubusercontent.com/Redth/dotnet-maui-check/d469cb3804d68ad52a1bfec041b95a8800acf4ab/manifests/maui-preview.manifest.json' Dotnet_Root: '/usr/local/share/dotnet/' Dotnet_Tools: '~/.dotnet/tools' @@ -26,6 +26,11 @@ steps: echo "##vso[task.setvariable variable=PATH]$PATH" displayName: install .NET ${{ parameters.DotNetVersion }} + - pwsh: | + echo "##vso[task.setvariable variable=JAVA_HOME]$(JAVA_HOME_11_X64)" + echo "##vso[task.setvariable variable=JavaSdkDirectory]$(JAVA_HOME_11_X64)" + displayName: Select JDK 11 + - bash: | dotnet tool update --global redth.net.maui.check --version ${{ parameters.MauiCheck_Version }} --add-source https://api.nuget.org/v3/index.json maui-check --ci --non-interactive --fix --skip androidsdk --skip xcode --skip vswin --skip vsmac --manifest ${{ parameters.MauiCheck_Manifest }} diff --git a/build/ci/templates/dotnet6-install-windows.yml b/build/ci/templates/dotnet6-install-windows.yml index 94109dd54de2..22092e04113a 100644 --- a/build/ci/templates/dotnet6-install-windows.yml +++ b/build/ci/templates/dotnet6-install-windows.yml @@ -1,7 +1,7 @@ parameters: - DotNetVersion: '6.0.100-preview.6.21355.2' - MauiCheck_Version: '0.6.1' - MauiCheck_Manifest: 'https://raw.githubusercontent.com/Redth/dotnet-maui-check/556b43a8b9df5ea1e65eb6b9b3ea8854a91fceed/manifests/maui-preview.manifest.json' + DotNetVersion: '6.0.100-rc.1.21452.64' + MauiCheck_Version: '0.8.5' + MauiCheck_Manifest: 'https://raw.githubusercontent.com/Redth/dotnet-maui-check/d469cb3804d68ad52a1bfec041b95a8800acf4ab/manifests/maui-preview.manifest.json' steps: @@ -11,12 +11,17 @@ steps: Invoke-WebRequest -Uri "https://dot.net/v1/dotnet-install.ps1" -OutFile dotnet-install.ps1 & .\dotnet-install.ps1 -Version ${{ parameters.DotNetVersion }} -InstallDir "$env:ProgramFiles\dotnet\" -Verbose & dotnet --list-sdks - displayName: install .NET $(DotNetVersion) + displayName: Install .NET ${{ parameters.DotNetVersion }} errorActionPreference: stop + - pwsh: | + echo "##vso[task.setvariable variable=JAVA_HOME]$(JAVA_HOME_11_X64)" + echo "##vso[task.setvariable variable=JavaSdkDirectory]$(JAVA_HOME_11_X64)" + displayName: Select JDK 11 + - powershell: | & dotnet tool update --global redth.net.maui.check --version ${{ parameters.MauiCheck_Version }} --add-source https://api.nuget.org/v3/index.json - & maui-check --ci --non-interactive --fix --skip androidsdk --skip xcode --skip vswin --skip vsmac --manifest ${{ parameters.MauiCheck_Manifest }} - displayName: Install .NET 6 Workloads + & maui-check -v --ci --non-interactive --fix --skip xcode --skip vswin --skip vsmac --manifest ${{ parameters.MauiCheck_Manifest }} + displayName: Install .NET Workloads errorActionPreference: continue ignoreLASTEXITCODE: true diff --git a/src/AddIns/Uno.UI.Lottie/LottieVisualSourceBase.Android.cs b/src/AddIns/Uno.UI.Lottie/LottieVisualSourceBase.Android.cs index 0853b04b9936..c07a8a54fe0e 100644 --- a/src/AddIns/Uno.UI.Lottie/LottieVisualSourceBase.Android.cs +++ b/src/AddIns/Uno.UI.Lottie/LottieVisualSourceBase.Android.cs @@ -1,5 +1,4 @@ -#if !NET6_0 // Revalidate when https://github.com/unoplatform/uno/issues/5873 gets updated -using System; +using System; using System.Threading; using Android.Animation; using Android.Widget; @@ -261,62 +260,3 @@ private Size CompositionSize } } } -#else -using System; -using System.Threading; -using Windows.Foundation; -using Windows.UI.Xaml.Controls; -using System.Threading.Tasks; -using Uno.Disposables; - -namespace Microsoft.Toolkit.Uwp.UI.Lottie -{ - partial class LottieVisualSourceBase - { - public bool UseHardwareAcceleration { get; set; } = true; - - async Task InnerUpdate(CancellationToken ct) - { - - } - - public void Play(double fromProgress, double toProgress, bool looped) - { - throw new NotImplementedException(); - } - - public void Stop() - { - throw new NotImplementedException(); - } - - public void Pause() - { - throw new NotImplementedException(); - } - - public void Resume() - { - throw new NotImplementedException(); - } - - public void SetProgress(double progress) - { - throw new NotImplementedException(); - } - - public void Load() - { - throw new NotImplementedException(); - } - - public void Unload() - { - throw new NotImplementedException(); - } - - private Size CompositionSize => default; - } -} -#endif - diff --git a/src/AddIns/Uno.UI.Lottie/Uno.UI.Lottie.net6.csproj b/src/AddIns/Uno.UI.Lottie/Uno.UI.Lottie.net6.csproj index 3af3307af41d..ac20241ecbe3 100644 --- a/src/AddIns/Uno.UI.Lottie/Uno.UI.Lottie.net6.csproj +++ b/src/AddIns/Uno.UI.Lottie/Uno.UI.Lottie.net6.csproj @@ -14,6 +14,7 @@ true enable Uno.UI.Lottie + Uno.UI.Lottie @@ -43,7 +44,7 @@ - + diff --git a/src/AddIns/Uno.UI.MSAL/Uno.UI.MSAL.net6.csproj b/src/AddIns/Uno.UI.MSAL/Uno.UI.MSAL.net6.csproj index 325a1cc3d7b9..9dcf3b4744cb 100644 --- a/src/AddIns/Uno.UI.MSAL/Uno.UI.MSAL.net6.csproj +++ b/src/AddIns/Uno.UI.MSAL/Uno.UI.MSAL.net6.csproj @@ -17,6 +17,13 @@ true true Uno.UI.MSAL + Uno.UI.MSAL + + + $(NoWarn);NU1703 diff --git a/src/Directory.Build.props b/src/Directory.Build.props index 4c5fdd491228..ee9c2a035785 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props @@ -114,13 +114,14 @@ $(JAVA_HOME_8_X64) - + - - + + + diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets index 15bf5ae9c7f1..cf542c7ee225 100644 --- a/src/Directory.Build.targets +++ b/src/Directory.Build.targets @@ -20,8 +20,8 @@ - - + + @@ -54,6 +54,7 @@ + diff --git a/src/SamplesApp/SamplesApp.net6mobile/Android/MainActivity.Android.cs b/src/SamplesApp/SamplesApp.net6mobile/Android/MainActivity.Android.cs index 2f3b23c4f0b8..6019e382f370 100644 --- a/src/SamplesApp/SamplesApp.net6mobile/Android/MainActivity.Android.cs +++ b/src/SamplesApp/SamplesApp.net6mobile/Android/MainActivity.Android.cs @@ -11,7 +11,6 @@ namespace SamplesApp.Droid { [Activity( MainLauncher = true, - Exported = true, ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize | ConfigChanges.UiMode, WindowSoftInputMode = SoftInput.AdjustPan | SoftInput.StateHidden )] diff --git a/src/SamplesApp/SamplesApp.net6mobile/SamplesApp.net6mobile.csproj b/src/SamplesApp/SamplesApp.net6mobile/SamplesApp.net6mobile.csproj index f5d57f91fc5c..5d0b4cf35806 100644 --- a/src/SamplesApp/SamplesApp.net6mobile/SamplesApp.net6mobile.csproj +++ b/src/SamplesApp/SamplesApp.net6mobile/SamplesApp.net6mobile.csproj @@ -18,7 +18,18 @@ - + + + $(NoWarn);NU1703 + + + apk diff --git a/src/Uno.CrossTargetting.props b/src/Uno.CrossTargetting.props index dfe16917dd5a..b172326a6353 100644 --- a/src/Uno.CrossTargetting.props +++ b/src/Uno.CrossTargetting.props @@ -87,6 +87,9 @@ $(DefineConstants);IOS1_0;XAMARIN;XAMARIN_IOS;XAMARIN_IOS_UNIFIED;UNO_HAS_UIELEMENT_IMPLICIT_PINNING + + + $(NoWarn);NU1703 diff --git a/src/Uno.Foundation/Uno.Foundation.net6.csproj b/src/Uno.Foundation/Uno.Foundation.net6.csproj index e80e3f912640..bc0b605a4565 100644 --- a/src/Uno.Foundation/Uno.Foundation.net6.csproj +++ b/src/Uno.Foundation/Uno.Foundation.net6.csproj @@ -27,7 +27,6 @@ - diff --git a/src/Uno.UI.RuntimeTests/Uno.UI.RuntimeTests.net6.csproj b/src/Uno.UI.RuntimeTests/Uno.UI.RuntimeTests.net6.csproj index 5ac0904c755f..e87c449ee1f9 100644 --- a/src/Uno.UI.RuntimeTests/Uno.UI.RuntimeTests.net6.csproj +++ b/src/Uno.UI.RuntimeTests/Uno.UI.RuntimeTests.net6.csproj @@ -10,6 +10,12 @@ Uno.UI.RuntimeTests Uno.UI.RuntimeTests + + + $(NoWarn);NU1703 diff --git a/src/Uno.UI/BaseActivity.Android.cs b/src/Uno.UI/BaseActivity.Android.cs index ccced5c081da..4b4103bb138d 100644 --- a/src/Uno.UI/BaseActivity.Android.cs +++ b/src/Uno.UI/BaseActivity.Android.cs @@ -176,7 +176,7 @@ public override void AddContentView(View view, ViewGroup.LayoutParams @params) #region Activity LifeCycle cf. https://developer.android.com/reference/android/app/Activity.html - partial void InnerCreate(Android.OS.Bundle bundle) => SetAsCurrent(); + partial void InnerCreate(Android.OS.Bundle savedInstanceState) => SetAsCurrent(); partial void InnerCreateWithPersistedState(Bundle savedInstanceState, PersistableBundle persistentState) => SetAsCurrent(); diff --git a/src/Uno.UI/UI/Xaml/Media/AcrylicBrush/Android/AndroidStockBlur.Android.cs b/src/Uno.UI/UI/Xaml/Media/AcrylicBrush/Android/AndroidStockBlur.Android.cs index 8bde043adee4..5173fe5295f2 100644 --- a/src/Uno.UI/UI/Xaml/Media/AcrylicBrush/Android/AndroidStockBlur.Android.cs +++ b/src/Uno.UI/UI/Xaml/Media/AcrylicBrush/Android/AndroidStockBlur.Android.cs @@ -27,6 +27,8 @@ Adapted to csharp by Jean-Marie Alfonsi ------------------------------------------------------------------------------ */ +#pragma warning disable CS0618 // RenderScript is obsolete + using Android.Content; using Android.Graphics; using Android.Renderscripts; @@ -41,9 +43,9 @@ internal class AndroidStockBlur : IBlurImpl private const bool DEBUG = false; #endif - private RenderScript _mRenderScript; + private RenderScript _mRenderScript; - private ScriptIntrinsicBlur _mBlurScript; + private ScriptIntrinsicBlur _mBlurScript; private Allocation _mBlurInput; diff --git a/src/Uno.UI/UI/Xaml/UIElement.Android.cs b/src/Uno.UI/UI/Xaml/UIElement.Android.cs index 1bb1bdbbb07c..c28c4515cfa2 100644 --- a/src/Uno.UI/UI/Xaml/UIElement.Android.cs +++ b/src/Uno.UI/UI/Xaml/UIElement.Android.cs @@ -370,7 +370,9 @@ public Java.Lang.Object GetDependencyPropertyValue(string dependencyPropertyName } else if (type == typeof(sbyte)) { +#pragma warning disable CS0618 // Byte.Byte(sbyte) is obsolete in API 31 return new Java.Lang.Byte((sbyte)dpValue); +#pragma warning restore CS0618 // Byte.Byte(sbyte) is obsolete in API 31 } else if (type == typeof(char)) { @@ -378,7 +380,9 @@ public Java.Lang.Object GetDependencyPropertyValue(string dependencyPropertyName } else if (type == typeof(short)) { +#pragma warning disable CS0618 // Short.Short(short) is obsolete in API 31 return new Java.Lang.Short((short)dpValue); +#pragma warning restore CS0618 // Short.Short(short) is obsolete in API 31 } else if (type == typeof(int)) { diff --git a/src/Uno.UI/UI/Xaml/UIElement.Pointers.iOS.cs b/src/Uno.UI/UI/Xaml/UIElement.Pointers.iOS.cs index b40f467d5ecc..eb3dfc6c996b 100644 --- a/src/Uno.UI/UI/Xaml/UIElement.Pointers.iOS.cs +++ b/src/Uno.UI/UI/Xaml/UIElement.Pointers.iOS.cs @@ -266,7 +266,7 @@ partial void OnManipulationModeChanged(ManipulationModes oldMode, ManipulationMo // As we have to walk the tree and this method may be invoked too early, we don't try to track the state between the old and the new mode => PrepareParentTouchesManagers(newMode, CanDrag); - partial void OnCanDragChanged(bool _, bool newValue) + partial void OnCanDragChanged(bool oldValue, bool newValue) => PrepareParentTouchesManagers(ManipulationMode, newValue); private void OnLoadedForPointers() diff --git a/src/Uno.UWP/ApplicationModel/Calls/Internal/CallStateListener.Android.cs b/src/Uno.UWP/ApplicationModel/Calls/Internal/CallStateListener.Android.cs index c005893ec554..c494fa1f2ab2 100644 --- a/src/Uno.UWP/ApplicationModel/Calls/Internal/CallStateListener.Android.cs +++ b/src/Uno.UWP/ApplicationModel/Calls/Internal/CallStateListener.Android.cs @@ -7,6 +7,7 @@ namespace Windows.ApplicationModel.Calls { +#pragma warning disable CS0618, CS0672 // PhoneStateListener is obsolete internal class CallStateListener : PhoneStateListener { public override void OnCallStateChanged([GeneratedEnum] CallState state, string phoneNumber) @@ -14,5 +15,6 @@ public override void OnCallStateChanged([GeneratedEnum] CallState state, string PhoneCallManager.RaiseCallStateChanged(); } } +#pragma warning restore CS0618, CS0672 // PhoneStateListener is obsolete } #endif diff --git a/src/Uno.UWP/ApplicationModel/Calls/PhoneCallManager.Android.cs b/src/Uno.UWP/ApplicationModel/Calls/PhoneCallManager.Android.cs index d534056717ec..bc873a2f6ed3 100644 --- a/src/Uno.UWP/ApplicationModel/Calls/PhoneCallManager.Android.cs +++ b/src/Uno.UWP/ApplicationModel/Calls/PhoneCallManager.Android.cs @@ -23,16 +23,22 @@ static PhoneCallManager() } _telephonyManager = (TelephonyManager)ContextHelper.Current .GetSystemService(Context.TelephonyService); +#pragma warning disable CS0618 // TelephonyManager is obsolete in API 31 _telephonyManager.Listen(new CallStateListener(), PhoneStateListenerFlags.CallState); +#pragma warning restore CS0618 // TelephonyManager is obsolete in API 31 } public static event EventHandler CallStateChanged; public static bool IsCallActive => +#pragma warning disable CS0618 // TelephonyManager is obsolete in API 31 _telephonyManager.CallState == CallState.Offhook; +#pragma warning restore CS0618 // TelephonyManager is obsolete in API 31 public static bool IsCallIncoming => +#pragma warning disable CS0618 // TelephonyManager is obsolete in API 31 _telephonyManager.CallState == CallState.Ringing; +#pragma warning restore CS0618 // TelephonyManager is obsolete in API 31 public static void ShowPhoneCallSettingsUI() { diff --git a/src/Uno.UWP/Graphics/Display/DisplayInformation.Android.cs b/src/Uno.UWP/Graphics/Display/DisplayInformation.Android.cs index 498db6cddcd3..18a83d1a775d 100644 --- a/src/Uno.UWP/Graphics/Display/DisplayInformation.Android.cs +++ b/src/Uno.UWP/Graphics/Display/DisplayInformation.Android.cs @@ -238,7 +238,9 @@ private void RefreshDisplayMetricsCache() using var windowManager = CreateWindowManager(); if (windowManager.DefaultDisplay is { } defaultDisplay) { +#pragma warning disable CS0618 // GetRealMetrics is obsolete in API 31 defaultDisplay.GetRealMetrics(displayMetrics); +#pragma warning restore CS0618 // GetRealMetrics is obsolete in API 31 _cachedDisplayMetrics = new DisplayMetricsCache(displayMetrics); _cachedRotation = windowManager.DefaultDisplay.Rotation; diff --git a/src/Uno.UWP/Networking/Connectivity/ConnectionProfile.Android.cs b/src/Uno.UWP/Networking/Connectivity/ConnectionProfile.Android.cs index edf4c5d123b9..3307eeb54106 100644 --- a/src/Uno.UWP/Networking/Connectivity/ConnectionProfile.Android.cs +++ b/src/Uno.UWP/Networking/Connectivity/ConnectionProfile.Android.cs @@ -83,7 +83,9 @@ private NetworkConnectivityLevel GetNetworkConnectivityLevelImpl() if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop) { +#pragma warning disable CS0618 // ConnectivityManager.GetAllNetworks() is obsolete in API 31 var networks = manager.GetAllNetworks(); +#pragma warning restore CS0618 // ConnectivityManager.GetAllNetworks() is obsolete in API 31 // some devices running 21 and 22 only use the older api. if (networks.Length == 0 && (int)Build.VERSION.SdkInt < 23) diff --git a/src/Uno.UWP/Phone/Devices/Notification/VibrationDevice.Android.cs b/src/Uno.UWP/Phone/Devices/Notification/VibrationDevice.Android.cs index 19c06227a515..2a11822939c0 100644 --- a/src/Uno.UWP/Phone/Devices/Notification/VibrationDevice.Android.cs +++ b/src/Uno.UWP/Phone/Devices/Notification/VibrationDevice.Android.cs @@ -28,7 +28,9 @@ public static VibrationDevice GetDefault() { throw new InvalidOperationException($"{Permission} needs to be declared in AndroidManifest.xml"); } +#pragma warning disable CS0618 // VibratorServic is obsolete in API 31 var vibrator = Application.Context.GetSystemService(Context.VibratorService) as Vibrator; +#pragma warning restore CS0618 // VibratorServic is obsolete in API 31 if (vibrator != null && vibrator.HasVibrator) { _instance = new VibrationDevice(vibrator); diff --git a/src/Uno.UWP/Uno.net6.csproj b/src/Uno.UWP/Uno.net6.csproj index 47465592316a..231f259999a4 100644 --- a/src/Uno.UWP/Uno.net6.csproj +++ b/src/Uno.UWP/Uno.net6.csproj @@ -49,17 +49,8 @@ - - - - - - - - - @@ -68,17 +59,6 @@ - - - - - - - - - - -