From 70e311bbdccc5a56e9ec0ecf8f03215ac4694921 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Su=C3=A1rez?= Date: Mon, 20 Sep 2021 13:38:19 +0200 Subject: [PATCH] [Housekeeping] Update main branch with latest 5.0.0 changes (#14629) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix 4143: improved Span region calculation (#13348) fixes #4143 fixes #6992 fixes #11650 fixes #7655 fixes #11657 fixes #10520 fixes #4829 * improved span region calculation on android * Remove unused code * Nit: clean up comments * Wrap in ScrollView for small screen compatibility Co-authored-by: Tim Dittmar Co-authored-by: Rachel Kang Co-authored-by: Rachel Kang * Only check for netfx when not in a wapproj (#14402) fixes #13957 * [macOS] Update Switch renderer (#14334) fixes #14313 * [macOS] Update Switch renderer #14313 * [macOS] Update Switch renderer #14313 * [Android] Fix to Issue Java.Lang.IndexOutOfBoundsException: setSpan (#12764) Fix to Issue #12762 * Update EntryRenderer.cs Fix to Issue #12762 Java.Lang.IndexOutOfBoundsException: setSpan (nn ... nn) ends beyond length n-1 * Fix to EntryRenderer.cs * Update EntryRenderer.cs * Update EntryRenderer.cs Co-authored-by: Rui Marinho * [Android] Fix ClearButton not working when changing the ClearButtonVisibility while the Entry field is focused (#13820) Fixes #13819 Co-authored-by: Javier Suárez * Automated dotnet-format update (#14404) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Automated dotnet-format update (#14405) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix memory leak (and some crashes) in ItemsViewController (iOS) (#14111) * add unit test * fix memory leak (and some crashes) in ItemsViewController (iOS) * Update ItemsViewController.cs Co-authored-by: Rui Marinho * Enable ScrollTo tests for Android, UWP; implement ScrollTo with group index for Android (#13007) * Remove inaccurate category * Enable ScrollTo tests for Android/UWP; Implement grouped ScrollTo for Android * Implement missing ScrollTo grouped item by index * Exempt 3788 test from UWP * Ignore test on UWP Co-authored-by: Rui Marinho * Fix type for case blueviolet (#14434) The 'v' in this case was uppercase causing this typeconverter to reject BlueViolet as a valid color value. Fixes #AB1286706 [XVS]XLS0431: Invalid value for property 'BackgroundColor': 'BlueViolet' * [iOS] Fix: CollectionView was not updating when it was invisible (#14384) * [iOS] Fix: CollectionView was not updating when it was invisible * [iOS] Fix: NSInternalInconsistencyException Reason: request for number of items in section X when there are only X sections in the collection view when NumberOfItemsInSection is invoked * Revert "[iOS] Fix: NSInternalInconsistencyException Reason: request for number of items in section X when there are only X sections in the collection view when NumberOfItemsInSection is invoked" This reverts commit 2343f15a8d5563d78f16dbedfdde3750a3085ffc. * [iOS] Fix: Prevent NumberOfItemsInSection invoking if CollectionView is hidded to avoid "NSInternalInconsistencyException Reason: request for number of items in section X when there are only X sections" * [iOS] Scroll locked issue using SwipeView (#12758) * Fixed issue re-enabling the scroll * Added repro sample * Fixed also the swipe sensitive issue on iOS Co-authored-by: Gerald Versluis * Fix removed shadow in Thumb setting a custom color (#13166) * [iOS] Fix crash/closing wrong modal with FormSheet and tap outside (#14527) * Add repro + fix * Update Issue12300.cs * [Core] SwipeItem Parent using SwipeView in DataTemplate (#13385) * Added repro sample * Fix the issue Co-authored-by: Gerald Versluis * Fix Frame Background issue with transparent color (#14565) * Fix broken disabled Button visual state in UWP (#14567) Co-authored-by: Gerald Versluis * Update Device.Idiom when flipping tablet mode state (#13150) * [Android] Fix occasional wrong touch interception in SwipeView Content (#13732) * Fix wrong touch interception in SwipeView Content on Android * Updated swipe delta * Fix Entry issue using TextColor and ClearButton in iOS < 13 (#14566) Co-authored-by: Gerald Versluis * Fix issue using FormattedString and LineBreakMode on iOS (#14572) Co-authored-by: Gerald Versluis * Align BarBackground behavior between Android and iOS. (#13503) * Automated dotnet-format update (#14570) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * [Android] Update gradients based on offset changes in Frame and BoxView (#11812) * Update gradients based on offset changes in Frame and BoxView on Android * Updated the sample to test also the BoxView Brush offsets * Fix NRE in ListView Command validation (#14580) * [iOS] Fix inability to check an initially disabled RadioButton after enabling it (#14545) * Listen for updates to IsEnabled on RadioButton to ensure that the tap gesture recogniser is added when the control is enabled * Update Issue14544.cs * Update test case Co-authored-by: Gerald Versluis * Fix crash navigating in Shell (#14577) * Androidx bumps (#14506) * Update to Latest Android X Libraries * - fix android forwarders * Moar updates Co-authored-by: Gerald Versluis * Validate issue 14433 (#14576) * Added repro sample * Updated sample Co-authored-by: Gerald Versluis * [iOS] Remove usage of System.Drawing types (#14571) * Run nightly also for 5.0.0 branch * Automated dotnet-format update (#14581) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * Ordering children while adding (#8231) * Ordering children while adding * Abstract OrderElement * Re-order on runtime child addition and Tests * Runtime addition ensures Z Index * Stop performance measurement on return * Update VisualElementPackager.cs Co-authored-by: Gerald Versluis Co-authored-by: Javier Suárez * If stroke is null avoid render a shape stroke (#14587) * Fix broken Android platform tests (#14590) * Automated dotnet-format update (#14595) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * [macOS] Fix RadioButton activated behaviour (#14139) * Respond to Activated event * Set initial control state based on element state * Revert "Set initial control state based on element state" This reverts commit 1bd1238b714d291fa9b416a08085abc200289dc1. * CollectionView RemainingItemsThreshold implementation for UWP (#14202) * [Android] Fix building with Android stable bits (#14608) * Set java sdk path * Use class-parse Co-authored-by: Braini01 Co-authored-by: Tim Dittmar Co-authored-by: Rachel Kang Co-authored-by: Rachel Kang Co-authored-by: Matthew Leibowitz Co-authored-by: MH Rastegari <42671084+mhrastegary77@users.noreply.github.com> Co-authored-by: Felipe Silveira Co-authored-by: Rui Marinho Co-authored-by: Jonathan Goyvaerts Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Thomas Mijieux Co-authored-by: E.Z. Hart Co-authored-by: Marco Goertz Co-authored-by: Kirill Co-authored-by: Gerald Versluis Co-authored-by: Lee Millward Co-authored-by: Gerald Versluis Co-authored-by: Shane Neuville Co-authored-by: Filip Navara Co-authored-by: Shanmukha Ranganath Co-authored-by: Julio César Rocha Co-authored-by: nk221 --- .nuspec/Xamarin.Forms.Visual.Material.nuspec | 4 +- .nuspec/Xamarin.Forms.nuspec | 18 +-- .nuspec/Xamarin.Forms.targets | 4 +- .../DualScreen.Android.csproj | 6 +- .../Embedding.Droid/Directory.Build.targets | 10 +- ...Forms.Platform.Android (Forwarders).csproj | 8 +- .../Directory.Build.targets | 10 +- .../Nuget.Build.targets | 10 +- ...amarin.Forms.ControlGallery.Android.csproj | 12 +- .../Github5623.xaml.cs | 1 - .../Issue11113.xaml.cs | 3 - .../Issue11795.xaml | 127 ++++++++++++++++ .../Issue11795.xaml.cs | 74 +++++++++ .../Issue12150.cs | 64 ++++++++ .../Issue12300.cs | 85 +++++++++++ .../Issue12518.xaml | 110 ++++++++++++++ .../Issue12518.xaml.cs | 96 ++++++++++++ .../Issue12590.xaml | 40 +++++ .../Issue12590.xaml.cs | 31 ++++ .../Issue13232.xaml | 65 ++++++++ .../Issue13232.xaml.cs | 88 +++++++++++ .../Issue13726.xaml | 50 +++++++ .../Issue13726.xaml.cs | 73 +++++++++ .../Issue13819.cs | 35 +++++ .../Issue14286.xaml | 25 ++++ .../Issue14286.xaml.cs | 31 ++++ .../Issue14426.xaml | 74 +++++++++ .../Issue14426.xaml.cs | 32 ++++ .../Issue14428.xaml | 38 +++++ .../Issue14428.xaml.cs | 32 ++++ .../Issue14433.xaml | 39 +++++ .../Issue14433.xaml.cs | 31 ++++ .../Issue14523.xaml | 20 +++ .../Issue14523.xaml.cs | 35 +++++ .../Issue14544.cs | 99 +++++++++++++ .../Issue3788.cs | 1 + .../Issue4143.xaml | 105 +++++++++++++ .../Issue4143.xaml.cs | 61 ++++++++ .../Issue8129.cs | 81 ++++++++++ .../Issue8218.cs | 42 ++++++ .../ScrollToGroup.cs | 6 +- ...rin.Forms.Controls.Issues.Shared.projitems | 68 ++++++++- .../GradientNavigationPageGallery.xaml | 3 +- Xamarin.Forms.Core/ColorTypeConverter.cs | 2 +- Xamarin.Forms.Core/ListView.cs | 2 +- Xamarin.Forms.Core/RadioButton.cs | 10 ++ Xamarin.Forms.Core/Region.cs | 7 + .../Shell/ShellNavigationManager.cs | 5 +- Xamarin.Forms.Core/Shell/ShellSection.cs | 2 +- Xamarin.Forms.Core/SwipeView.cs | 18 ++- .../Xamarin.Forms.DualScreen.csproj | 6 +- .../Xamarin.Forms.Maps.Android.csproj | 8 +- .../MaterialFrameRenderer.cs | 14 +- .../Xamarin.Forms.Material.Android.csproj | 4 +- ...rin.Forms.Platform.Android.AppLinks.csproj | 4 +- ...rms.Platform.Android.FormsViewGroup.csproj | 1 + .../AssertionExtensions.cs | 13 ++ .../CornerRadiusTests.cs | 3 + .../PlatformTestFixture.cs | 4 + .../AppCompat/NavigationPageRenderer.cs | 39 ++--- .../AppCompat/SwitchRenderer.cs | 2 +- .../AppCompat/TabbedPageRenderer.cs | 9 +- .../GroupableItemsViewRenderer.cs | 18 ++- .../CollectionView/IItemsViewSource.cs | 5 + .../CollectionView/ItemsViewRenderer.cs | 1 - .../CollectionView/ObservableGroupedSource.cs | 35 ++++- .../SelectableItemsViewAdapter.cs | 2 +- .../CollectionView/SelectableViewHolder.cs | 2 +- .../Extensions/BrushExtensions.cs | 27 ++++ .../Extensions/DrawableExtensions.cs | 9 +- .../Extensions/TextViewExtensions.cs | 73 ++++----- .../FastRenderers/FrameRenderer.cs | 40 ++--- .../GradientStrokeDrawable.cs | 19 ++- .../Renderers/BoxRenderer.cs | 19 ++- .../Renderers/EntryRenderer.cs | 9 +- .../Renderers/ShellItemRenderer.cs | 13 +- .../Renderers/SwipeViewRenderer.cs | 28 ++-- .../Xamarin.Forms.Platform.Android.csproj | 8 +- .../Renderers/RadioButtonRenderer.cs | 18 +++ .../Renderers/SwitchRenderer.cs | 11 +- .../GroupableItemsViewRenderer.cs | 37 ++++- .../CollectionView/ItemsViewRenderer.cs | 13 +- Xamarin.Forms.Platform.UAP/Forms.cs | 62 +++++--- Xamarin.Forms.Platform.UAP/Resources.xaml | 13 ++ .../ItemsViewControllerLeakTest.cs | 140 ++++++++++++++++++ ...amarin.Forms.Platform.iOS.UnitTests.csproj | 1 + .../Cells/SwitchCellRenderer.cs | 1 + .../CollectionView/ItemsViewController.cs | 5 +- .../CollectionView/ObservableItemsSource.cs | 5 +- .../Extensions/LabelExtensions.cs | 1 + .../Extensions/UIViewExtensions.cs | 1 + Xamarin.Forms.Platform.iOS/ModalWrapper.cs | 11 -- .../Renderers/ActivityIndicatorRenderer.cs | 1 + .../Renderers/EntryRenderer.cs | 13 +- .../Renderers/FrameRenderer.cs | 2 +- .../Renderers/LabelRenderer.cs | 2 + .../Renderers/SearchBarRenderer.cs | 1 + .../Renderers/SliderRenderer.cs | 2 +- .../Renderers/StepperRenderer.cs | 1 + .../Renderers/SwipeViewRenderer.cs | 24 ++- .../Renderers/SwitchRenderer.cs | 1 + .../Renderers/TabbedRenderer.cs | 3 +- .../Renderers/WkWebViewRenderer.cs | 1 + .../Shapes/ShapeRenderer.cs | 2 +- .../VisualElementPackager.cs | 49 ++++-- .../VisualElementTracker.cs | 2 + azure-pipelines.yml | 1 + build/steps/build-android.yml | 5 + 108 files changed, 2485 insertions(+), 252 deletions(-) create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue11795.xaml create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue11795.xaml.cs create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12150.cs create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12300.cs create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12518.xaml create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12518.xaml.cs create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12590.xaml create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12590.xaml.cs create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue13232.xaml create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue13232.xaml.cs create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue13726.xaml create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue13726.xaml.cs create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue13819.cs create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue14286.xaml create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue14286.xaml.cs create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue14426.xaml create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue14426.xaml.cs create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue14428.xaml create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue14428.xaml.cs create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue14433.xaml create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue14433.xaml.cs create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue14523.xaml create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue14523.xaml.cs create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue14544.cs create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue4143.xaml create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue4143.xaml.cs create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue8129.cs create mode 100644 Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue8218.cs create mode 100644 Xamarin.Forms.Platform.iOS.UnitTests/ItemsViewControllerLeakTest.cs diff --git a/.nuspec/Xamarin.Forms.Visual.Material.nuspec b/.nuspec/Xamarin.Forms.Visual.Material.nuspec index 891a129bb3a..c739e16e691 100644 --- a/.nuspec/Xamarin.Forms.Visual.Material.nuspec +++ b/.nuspec/Xamarin.Forms.Visual.Material.nuspec @@ -22,8 +22,8 @@ - - + + diff --git a/.nuspec/Xamarin.Forms.nuspec b/.nuspec/Xamarin.Forms.nuspec index a0ac1e1581c..bc6422d5b49 100644 --- a/.nuspec/Xamarin.Forms.nuspec +++ b/.nuspec/Xamarin.Forms.nuspec @@ -15,18 +15,18 @@ © Microsoft Corporation. All rights reserved. - - - - + + + + - - - - - + + + + + diff --git a/.nuspec/Xamarin.Forms.targets b/.nuspec/Xamarin.Forms.targets index 1ac8f689451..d4d239d80c7 100644 --- a/.nuspec/Xamarin.Forms.targets +++ b/.nuspec/Xamarin.Forms.targets @@ -48,9 +48,9 @@ + Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework' AND '$(TargetFrameworkVersion.Substring(1))' < '4.6.1' AND '$(ProjectExt)' != '.wapproj' AND '$(XFDisableFrameworkVersionValidation)' != 'True'"> + Text="Xamarin.Forms requires .NETFramework >= v4.6.1. You have '$(TargetFrameworkVersion)'" /> diff --git a/DualScreen/DualScreen.Android/DualScreen.Android.csproj b/DualScreen/DualScreen.Android/DualScreen.Android.csproj index c9c07905b56..7ea90bc1d41 100644 --- a/DualScreen/DualScreen.Android/DualScreen.Android.csproj +++ b/DualScreen/DualScreen.Android/DualScreen.Android.csproj @@ -115,9 +115,9 @@ - - - + + + diff --git a/EmbeddingTestBeds/Embedding.Droid/Directory.Build.targets b/EmbeddingTestBeds/Embedding.Droid/Directory.Build.targets index 5c7a9c4722c..2e6346118c4 100644 --- a/EmbeddingTestBeds/Embedding.Droid/Directory.Build.targets +++ b/EmbeddingTestBeds/Embedding.Droid/Directory.Build.targets @@ -1,9 +1,9 @@ - - - - - + + + + + diff --git a/Stubs/Xamarin.Forms.Platform.Android/Xamarin.Forms.Platform.Android (Forwarders).csproj b/Stubs/Xamarin.Forms.Platform.Android/Xamarin.Forms.Platform.Android (Forwarders).csproj index 9757188accf..45b86261bc5 100644 --- a/Stubs/Xamarin.Forms.Platform.Android/Xamarin.Forms.Platform.Android (Forwarders).csproj +++ b/Stubs/Xamarin.Forms.Platform.Android/Xamarin.Forms.Platform.Android (Forwarders).csproj @@ -22,9 +22,9 @@ - - - - + + + + diff --git a/Xamarin.Forms.ControlGallery.Android/Directory.Build.targets b/Xamarin.Forms.ControlGallery.Android/Directory.Build.targets index c86812492cd..5e7e9c273f7 100644 --- a/Xamarin.Forms.ControlGallery.Android/Directory.Build.targets +++ b/Xamarin.Forms.ControlGallery.Android/Directory.Build.targets @@ -1,10 +1,10 @@ - - - - - + + + + + diff --git a/Xamarin.Forms.ControlGallery.Android/Nuget.Build.targets b/Xamarin.Forms.ControlGallery.Android/Nuget.Build.targets index a1950cc229f..62c111be027 100644 --- a/Xamarin.Forms.ControlGallery.Android/Nuget.Build.targets +++ b/Xamarin.Forms.ControlGallery.Android/Nuget.Build.targets @@ -5,10 +5,10 @@ - - - - - + + + + + diff --git a/Xamarin.Forms.ControlGallery.Android/Xamarin.Forms.ControlGallery.Android.csproj b/Xamarin.Forms.ControlGallery.Android/Xamarin.Forms.ControlGallery.Android.csproj index 28a0f5d7ec5..4eef7a7853d 100644 --- a/Xamarin.Forms.ControlGallery.Android/Xamarin.Forms.ControlGallery.Android.csproj +++ b/Xamarin.Forms.ControlGallery.Android/Xamarin.Forms.ControlGallery.Android.csproj @@ -347,12 +347,12 @@ 3.0.2 - - - - - - + + + + + + diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Github5623.xaml.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Github5623.xaml.cs index 44e82b8399e..e13f5d1f085 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Github5623.xaml.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Github5623.xaml.cs @@ -20,7 +20,6 @@ namespace Xamarin.Forms.Controls.Issues { #if UITEST [Category(UITestCategories.CollectionView)] - [Category(UITestCategories.UwpIgnore)] [NUnit.Framework.Category(Core.UITests.UITestCategories.Github5000)] #endif #if APP diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue11113.xaml.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue11113.xaml.cs index 602d0326c6e..20cc384f3d2 100644 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue11113.xaml.cs +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue11113.xaml.cs @@ -10,9 +10,6 @@ namespace Xamarin.Forms.Controls { -#if UITEST - [Category(UITestCategories.CarouselView)] -#endif [Preserve(AllMembers = true)] [Issue(IssueTracker.Github, 11113, "[Bug][iOS] Path: TranslateTransform has no effect on iOS", PlatformAffected.iOS)] public partial class Issue11113 : TestContentPage diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue11795.xaml b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue11795.xaml new file mode 100644 index 00000000000..9fdda6996d8 --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue11795.xaml @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue11795.xaml.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue11795.xaml.cs new file mode 100644 index 00000000000..0d944a89424 --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue11795.xaml.cs @@ -0,0 +1,74 @@ +using Xamarin.Forms.CustomAttributes; +using Xamarin.Forms.Internals; +using Xamarin.Forms.Xaml; + +#if UITEST +using Xamarin.UITest; +using Xamarin.UITest.Queries; +using NUnit.Framework; +using Xamarin.Forms.Core.UITests; +#endif + +namespace Xamarin.Forms.Controls.Issues +{ +#if UITEST + [Category(UITestCategories.Brush)] +#endif +#if APP + [XamlCompilation(XamlCompilationOptions.Compile)] +#endif + [Preserve(AllMembers = true)] + [Issue(IssueTracker.Github, 11795, "[Bug] Brushes API - gradient offset does nothing on Android", PlatformAffected.Android)] + public partial class Issue11795 : TestContentPage + { +#if APP + float _offset1, _offset2; +#endif + public Issue11795() + { +#if APP + Title = "Issue 11795"; + InitializeComponent(); + + _offset1 = 0.1f; + _offset2 = 0.9f; +#endif + } + + protected override void Init() + { + + } + +#if APP + void OnOffset1SliderValueChanged(object sender, ValueChangedEventArgs e) + { + _offset1 = (float)e.NewValue; + UpdateBackground(_offset1, _offset2); + } + + void OnOffset2SliderValueChanged(object sender, ValueChangedEventArgs e) + { + _offset2 = (float)e.NewValue; + UpdateBackground(_offset1, _offset2); + } + + void UpdateBackground(float offset1, float offset2) + { + LinearGradientBrush linearGradient = new LinearGradientBrush + { + StartPoint = new Point(0, 0), + EndPoint = new Point(1, 0), + GradientStops = new GradientStopCollection + { + new GradientStop { Color = Color.YellowGreen, Offset = offset1 }, + new GradientStop { Color = Color.Green, Offset = offset2 } + } + }; + + GradientBoxView.Background = linearGradient; + GradientFrame.Background = linearGradient; + } +#endif + } +} \ No newline at end of file diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12150.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12150.cs new file mode 100644 index 00000000000..3e03fc4760a --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12150.cs @@ -0,0 +1,64 @@ +using Xamarin.Forms.CustomAttributes; +using Xamarin.Forms.Internals; + +#if UITEST +using Xamarin.Forms.Core.UITests; +using Xamarin.UITest; +using NUnit.Framework; +#endif + +namespace Xamarin.Forms.Controls.Issues +{ +#if UITEST + [Category(UITestCategories.Switch)] +#endif + [Preserve(AllMembers = true)] + [Issue(IssueTracker.Github, 12150, "[Bug] Switch control not respecting Material Design on Android", + PlatformAffected.Android)] + public class Issue12150 : TestContentPage + { + public Issue12150() + { + } + + protected override void Init() + { + Title = "Issue 12150"; + + var layout = new StackLayout(); + + var instructions = new Label + { + Padding = 12, + BackgroundColor = Color.Black, + TextColor = Color.White, + Text = "If each Switch has a shadow on the Thumb, the test has passed." + }; + + var defaultRadioButton = new Switch + { + HorizontalOptions = LayoutOptions.Center + }; + + var thumbColorRadioButton = new Switch + { + HorizontalOptions = LayoutOptions.Center, + ThumbColor = Color.White + }; + + var onColorRadioButton = new Switch + { + HorizontalOptions = LayoutOptions.Center, + OnColor = Color.Red, + ThumbColor = Color.White + }; + + layout.Children.Add(instructions); + layout.Children.Add(defaultRadioButton); + layout.Children.Add(thumbColorRadioButton); + layout.Children.Add(onColorRadioButton); + + Content = layout; + } + } +} diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12300.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12300.cs new file mode 100644 index 00000000000..981bf6916d0 --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12300.cs @@ -0,0 +1,85 @@ +using System; +using System.Threading.Tasks; +using Xamarin.Forms; +using Xamarin.Forms.CustomAttributes; +using Xamarin.Forms.Internals; +using Xamarin.Forms.PlatformConfiguration; +using Xamarin.Forms.PlatformConfiguration.iOSSpecific; +using NavigationPage = Xamarin.Forms.NavigationPage; +using Page = Xamarin.Forms.Page; + +#if UITEST +using Xamarin.UITest; +using NUnit.Framework; +using Xamarin.Forms.Core.UITests; +#endif + +namespace Xamarin.Forms.Controls.Issues +{ + [Preserve(AllMembers = true)] + [Issue(IssueTracker.Github, 12300, "Crash when dismissing modally presented page on iOS", PlatformAffected.iOS)] + public class Issue12300 : TestContentPage + { + protected override void Init() + { + var button = new Button() + { + Text = "Show Modal Page", + HorizontalOptions = LayoutOptions.Center, + VerticalOptions = LayoutOptions.CenterAndExpand, + }; + + button.Clicked += (s, a) => + { + Navigation.PushModalAsync(new OTNavigationPage(new ModalPage())); + }; + + Content = new StackLayout() + { + Children = + { + button + } + }; + } + + public class OTNavigationPage : NavigationPage + { + public OTNavigationPage(Page page) : base(page) + { + On().SetModalPresentationStyle(UIModalPresentationStyle.PageSheet); + } + } + + public class ModalPage : ContentPage + { + public ModalPage() + { + var button = new Button() + { + Text = "Hide Modal Page", + HorizontalOptions = LayoutOptions.Center, + VerticalOptions = LayoutOptions.CenterAndExpand, + }; + + button.Clicked += (s, a) => + { + Navigation.PopModalAsync(); + }; + + Content = new StackLayout() + { + Children = + { + button + } + }; + } + + private void ButtonClicked(object sender, EventArgs e) + { + Navigation.PopModalAsync(); + } + } + } +} diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12518.xaml b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12518.xaml new file mode 100644 index 00000000000..834b741165f --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12518.xaml @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12518.xaml.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12518.xaml.cs new file mode 100644 index 00000000000..2167f5e9882 --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12518.xaml.cs @@ -0,0 +1,96 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Diagnostics; +using System.Windows.Input; +using Xamarin.Forms.CustomAttributes; +using Xamarin.Forms.Internals; + +#if UITEST +using Xamarin.UITest; +using NUnit.Framework; +using Xamarin.Forms.Core.UITests; +#endif + +namespace Xamarin.Forms.Controls.Issues +{ + [Preserve(AllMembers = true)] + [Issue(IssueTracker.Github, 12518, + "[Bug] SwipeView is too sensitive - opens when scrolling", + PlatformAffected.iOS)] + public partial class Issue12518 : TestContentPage + { + public Issue12518() + { +#if APP + InitializeComponent(); + BindingContext = new Issue12518ViewModel(); +#endif + } + + protected override void Init() + { + + } + } + + [Preserve(AllMembers = true)] + public class Issue12518Model + { + public string Title { get; set; } + public string SubTitle { get; set; } + public string Description { get; set; } + public string Date { get; set; } + } + + [Preserve(AllMembers = true)] + public class Issue12518ViewModel : BindableObject + { + ObservableCollection _items; + string _message; + + public Issue12518ViewModel() + { + Items = new ObservableCollection(); + LoadItems(); + } + + public ObservableCollection Items + { + get { return _items; } + set + { + _items = value; + OnPropertyChanged(); + } + } + + public string Message + { + get { return _message; } + set + { + _message = value; + OnPropertyChanged(); + } + } + + public ICommand FavouriteCommand => new Command(OnFavourite); + public ICommand DeleteCommand => new Command(OnDelete); + public ICommand TapCommand => new Command(OnTap); + + void LoadItems() + { + for (int i = 0; i < 100; i++) + { + Items.Add(new Issue12518Model { Title = $"Lorem ipsum {i + 1}", SubTitle = "Lorem ipsum dolor sit amet", Date = "Yesterday", Description = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." }); + } + } + + void OnFavourite() => Message = "Favourite"; + + void OnDelete() => Message = "Delete"; + + void OnTap() => Message = "Tap"; + } +} \ No newline at end of file diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12590.xaml b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12590.xaml new file mode 100644 index 00000000000..c7f111462d1 --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12590.xaml @@ -0,0 +1,40 @@ + + + + + \ No newline at end of file diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12590.xaml.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12590.xaml.cs new file mode 100644 index 00000000000..54d91a9600b --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue12590.xaml.cs @@ -0,0 +1,31 @@ +using System.Collections.Generic; +using System.Collections.ObjectModel; +using Xamarin.Forms.CustomAttributes; +using Xamarin.Forms.Internals; + +#if UITEST +using Xamarin.UITest; +using NUnit.Framework; +using Xamarin.Forms.Core.UITests; +#endif + +namespace Xamarin.Forms.Controls.Issues +{ + [Preserve(AllMembers = true)] + [Issue(IssueTracker.Github, 12590, + "[Bug] LineBreakMode=TailTruncation doesn't work with Label.FormattedText", + PlatformAffected.iOS)] + public partial class Issue12590 : TestContentPage + { + public Issue12590() + { +#if APP + InitializeComponent(); +#endif + } + + protected override void Init() + { + } + } +} \ No newline at end of file diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue13232.xaml b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue13232.xaml new file mode 100644 index 00000000000..bd14d231cd9 --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue13232.xaml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue13232.xaml.cs b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue13232.xaml.cs new file mode 100644 index 00000000000..a175c992383 --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue13232.xaml.cs @@ -0,0 +1,88 @@ +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Input; +using Xamarin.Forms.CustomAttributes; +using Xamarin.Forms.Internals; + +#if UITEST +using Xamarin.UITest; +using NUnit.Framework; +using Xamarin.Forms.Core.UITests; +#endif + +namespace Xamarin.Forms.Controls.Issues +{ + [Preserve(AllMembers = true)] + [Issue(IssueTracker.Github, 13232, + "[Bug] Command is not working in SwipeItem", + PlatformAffected.Android | PlatformAffected.iOS)] + public partial class Issue13232 : TestContentPage + { + public Issue13232() + { +#if APP + InitializeComponent(); + BindingContext = new Issue13232ViewModel(); +#endif + } + + protected override void Init() + { + + } + } + + [Preserve(AllMembers = true)] + public class Issue13232Model + { + public int Id { get; set; } + public string Title { get; set; } + public string SubTitle { get; set; } + } + + [Preserve(AllMembers = true)] + public class Issue13232ViewModel : BindableObject + { + public Issue13232ViewModel() + { + Items = new ObservableCollection(); + + LoadItems(); + + DeleteCommand = new Command(async (object model) => + { + await Task.Delay(100); + + var issue13232Model = (Issue13232Model)model; + + var itemToDelete = Items.SingleOrDefault(t => t.Id == issue13232Model.Id); + + if (itemToDelete != null) + { + await Task.Delay(500); + + Items.Remove(itemToDelete); + } + }); + } + + public ObservableCollection Items { get; set; } + + public ICommand DeleteCommand { get; } + + void LoadItems() + { + for (int i = 0; i < 10; i++) + { + Items.Add(new Issue13232Model + { + Id = i + 1, + Title = $"Message {i + 1}", + SubTitle = $"Description {i + 1}", + }); + } + } + } +} \ No newline at end of file diff --git a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue13726.xaml b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue13726.xaml new file mode 100644 index 00000000000..afd2d7c9888 --- /dev/null +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Issue13726.xaml @@ -0,0 +1,50 @@ + + + +