unoplatform / uno

Build Mobile, Desktop and WebAssembly apps with C# and XAML. Today. Open source and professionally supported.
https://platform.uno
Apache License 2.0
8.45k stars 685 forks source link

fix(droid): ComboBox flyout scroll reset on arrange #16545

Closed Xiaoy312 closed 1 week ago

Xiaoy312 commented 2 weeks ago

GitHub Issue (If applicable): closes #16074

PR Type

What kind of change does this PR introduce?

What is the current behavior?

On android, the scroll position of the ComboBox flyout would reset whenever an arrange was called.

What is the new behavior?

^ no more.

PR Checklist

Please check if your PR fulfills the following requirements:

Other information

This happens because we are sending two layout requests with different sizes, presumably android reset the scroll to on current items when the viewport changes.

unodevops commented 2 weeks ago

🤖 Your WebAssembly Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-16545/index.html

unodevops commented 2 weeks ago

🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-16545/index.html

unodevops commented 2 weeks ago

🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-16545/index.html

unodevops commented 2 weeks ago

🤖 Your WebAssembly Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-16545/index.html

unodevops commented 1 week ago

🤖 Your WebAssembly Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-16545/index.html

unodevops commented 1 week ago

🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-16545/index.html

unodevops commented 1 week ago

🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-16545/index.html

unodevops commented 1 week ago

🤖 Your WebAssembly Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-16545/index.html

unodevops commented 1 week ago

🤖 Your Docs stage site is ready! Visit it here: https://unodocsprstaging.z13.web.core.windows.net/pr-16545/index.html

unodevops commented 1 week ago

🤖 Your WebAssembly Sample App stage site is ready! Visit it here: https://unowasmprstaging.z20.web.core.windows.net/pr-16545/index.html

nventive-devops commented 1 week ago

The build 124001 found UI Test snapshots differences: android-28-net7: 18, android-28-net7-Snap: 58, ios: 115, ios-Snap: 22, skia-gtk-screenshots: 35, skia-linux-screenshots: 62, skia-windows-screenshots: 41, wasm: 71, wasm-automated-net7.0-UWP-Default-automated: 21, wasm-automated-net7.0-UWP-RuntimeTests-0: 0, wasm-automated-net7.0-UWP-RuntimeTests-1: 0, wasm-automated-net7.0-UWP-RuntimeTests-2: 0, wasm-automated-net7.0-WinUI-Benchmarks-automated: 0, wasm-automated-net7.0-WinUI-RuntimeTests-0: 0, wasm-automated-net7.0-WinUI-RuntimeTests-1: 0, wasm-automated-net7.0-WinUI-RuntimeTests-2: 0

Details * `android-28-net7`: **18** changed over 829
🚨🚨 Comparison Details (first 20) 🚨🚨 - `CommandBar_LongTitle_Validation_Uno_UI_Samples_Content_UITests_CommandBar_CommandBar_LongTitle` - `DecimalFormatterTest_UITests_Shared_Microsoft_UI_Xaml_Controls_NumberBoxTests_NumberBoxPage` - `When_BitmapIcon_Generic_Changed` - `WebView_NavigateToLongString_AfterSuccess` - `When_Parent_PointerMoved_After_drag_on_non-scrolling_ScrollViewer` - `When_Parent_PointerMoved_After_drag_on_ScrollViewer_-_touch` - `Detereminate_ProgressRing_Validation75_[#FF0000_#008000_#008000_#008000]_Progress-Ring-Value-75` - `NativeCommandBar_Size_Uno_UI_Samples_Content_UITests_CommandBar_CommandBar_Dynamic` - `When_InListView_after_scroll` - `Detereminate_ProgressRing_Validation50_[#FF0000_#008000_#008000_#FF0000]_Progress-Ring-Value-50` - `SequentialAnimations_SamplesApp_Windows_UI_Xaml_Media_Animation_SequentialAnimationsPage` - `Detereminate_ProgressRing_Validation25_[#FF0000_#008000_#FF0000_#FF0000]_Progress-Ring-Value-25` - `ProgressRing_IsEnabled_Running_UITests_Windows_UI_Xaml_Controls_ProgressRing_WindowsProgressRing_GH1220` - `UpDownEnabledTest_UITests_Shared_Microsoft_UI_Xaml_Controls_NumberBoxTests_NumberBoxPage` - `UpDownTest_UITests_Shared_Microsoft_UI_Xaml_Controls_NumberBoxTests_NumberBoxPage` - `When_Tap_PressedReleasedAreHandled_UITests_Windows_UI_Xaml_Controls_ComboBox_ComboBox_Pointers` - `ListView_SelectedItems_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListViewSelectedItems` - `ProgressRing_Visibility_Collapsed_UITests_Windows_UI_Xaml_Controls_ProgressRing_WindowsProgressRing_GH1220`
* `android-28-net7-Snap`: **58** changed over 1064
🚨🚨 Comparison Details (first 20) 🚨🚨 - `Gesture_Recognizer_Pointer_Events_test_bench_UITests_Shared_Windows_UI_Input_GestureRecognizer_PointersEvents` - `Image_ImageSourceStream_Uno_UI_Samples_UITests_ImageTestsControl_ImageSourceStream` - `Image_UITests_Windows_UI_Xaml_Controls_ImageTests_SvgImageSource_Icons_UITests_Windows_UI_Xaml_Controls_ImageTests_SvgImageSource_Icons` - `Icons_UITests_Shared_Windows_UI_Xaml_Controls_BitmapIconTests_BitmapIcon_Foreground_UITests_Shared_Windows_UI_Xaml_Controls_BitmapIconTests_BitmapIcon_Foreground` - `ListView_HorizontalListViewGrouped_SamplesApp_Windows_UI_Xaml_Controls_ListView_HorizontalListViewGrouped` - `Pointers_UITests_Windows_UI_Input_PointersTests_HitTest_LightDismiss_UITests_Windows_UI_Input_PointersTests_HitTest_LightDismiss` - `ListView_ListViewScrollIntoViewSnapPoints_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListViewScrollIntoViewSnapPoints` - `ListView_ListViewSelectedItems_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListViewSelectedItems` - `MediaPlayerElement_MediaPlayerElement_Stretch_Fill_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Stretch_Fill` - `MediaPlayerElement_Mini_player_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Minimal` - `MediaPlayerElement_Sources_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Sources` - `Pointers_UITests_Windows_UI_Input_PointersTests_HitTest_Control_UITests_Windows_UI_Input_PointersTests_HitTest_Control` - `Pointers_UITests_Windows_UI_Input_PointersTests_HitTest_GeometryGroup_UITests_Windows_UI_Input_PointersTests_HitTest_GeometryGroup` - `Pointers_UITests_Windows_UI_Input_PointersTests_HitTest_Image_UITests_Windows_UI_Input_PointersTests_HitTest_Image` - `GridView_Uno_UI_Samples_Content_UITests_GridView_GridViewScrollIntoViewTest_Uno_UI_Samples_Content_UITests_GridView_GridViewScrollIntoViewTest` - `MediaPlayerElement_Using_mov_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Mov_Extension` - `MediaPlayerElement_Using_mp3_Audio_only_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Mp3_Extension` - `MediaPlayerElement_Using_ogg_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Ogg_Extension` - `Scrolling_MUXControlsTestApp_ScrollViewWithScrollControllersPage_MUXControlsTestApp_ScrollViewWithScrollControllersPage` - `TextBlock_UITests_Shared_Windows_UI_Xaml_Controls_TextBlockControl_TextBlock_Layout_UITests_Shared_Windows_UI_Xaml_Controls_TextBlockControl_TextBlock_Layout`
* `ios`: **115** changed over 271
🚨🚨 Comparison Details (first 20) 🚨🚨 - `Button_NestedButtons_Validation_nVentive_Umbrella_Views_UI_Samples_Content_UITests_ButtonTestsControl_Nested_Buttons` - `Check_ListView_Swallows_Measure_after_scroll` - `ContentControl_Changing_ContentTemplate_Uno_UI_Samples_Content_UITests_ContentControlTestsControl_ContentControl_Changing_ContentTemplate` - `Keyboard_Textbox_NoScrollViewer_Validation_Uno_UI_Samples_Content_UITests_TextBoxControl_Input_Test_NoScrollViewer_Automated` - `ToggleSwitch_IsEnabled_Validation_Uno_UI_Samples_Content_UITests_ButtonTestsControl_ToggleSwitch_IsEnable_Automated` - `Touch_Validation_0_-_button_inside_grid` - `When_Navigated_CommandBarDisplayCustomBackButtonIcon_NativeFrame_Source_set` - `CheckBox_DoubleTapValidation_Uno_UI_Samples_Content_UITests_ButtonTestsControl_CheckBox_IsEnabled_Automated` - `Button_Events_UITests_Shared_Windows_UI_Xaml_Controls_Button_Button_Events` - `ComboBoxTests_ToggleDisabled_ComboBox_Enabled` - `Check_CornerRadius_Border_UITests_Shared_Windows_UI_Xaml_Controls_BorderTests_Border_CornerRadius_Toggle` - `ComboBoxTests_Stretch_UITests_Windows_UI_Xaml_Controls_ComboBox_ComboBox_Stretch` - `FlyoutTest_When_OverlayInputPassThroughElement_Then_PassThrough_withOff_UITests_Shared_Windows_UI_Xaml_Controls_Flyout_Flyout_OverlayInputPassThroughElement` - `Keyboard_Textbox_NoScrollViewer_Validation_4_-_Remove_Focus_on_multilineTextBox` - `NativeCommandBar_Automated_UITests_Windows_UI_Xaml_Controls_CommandBar_CommandBar_Native_With_Content` - `StaticResource_CSharp_Validation_UITests_Shared_Resources_StaticResource_StaticResource_Simple` - `ThreeStates_Indeterminate` - `StaticResource_XAML_Validation_UITests_Shared_Resources_StaticResource_StaticResource_Simple` - `ThreeStates_UITests_Shared_Windows_UI_Xaml_Controls_CheckBoxTests_CheckBox_Automated` - `TextBox_TextChanged_UITests_Shared_Windows_UI_Xaml_Controls_TextBoxTests_TextBox_TextChanged`
* `ios-Snap`: **22** changed over 1055
🚨🚨 Comparison Details (first 20) 🚨🚨 - `ListView_ListViewStackPanel_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListViewStackPanel` - `Brushes_UITests_Shared_Windows_UI_Xaml_Media_ImageBrushTests_ImageBrush_SameWithDelay_UITests_Shared_Windows_UI_Xaml_Media_ImageBrushTests_ImageBrush_SameWithDelay` - `Brushes_GenericApp_Views_Content_UITests_ImageBrushTestControl_BorderImageBrushRelativeTransform_GenericApp_Views_Content_UITests_ImageBrushTestControl_BorderImageBrushRelativeTransform` - `Default_Uno_UI_Samples_Content_UITests_WebView_WebView_AnchorNavigation_Uno_UI_Samples_Content_UITests_WebView_WebView_AnchorNavigation` - `Brushes_ImageBrushStretch_Uno_UI_Samples_UITests_ImageBrushTestControl_ImageBrushStretch` - `Image_UITests_Shared_Windows_UI_Xaml_Controls_ImageTests_Image_Stretch_Algmnt_Inf_Horizontal_UITests_Shared_Windows_UI_Xaml_Controls_ImageTests_Image_Stretch_Algmnt_Inf_Horizontal` - `Image_UITests_Shared_Windows_UI_Xaml_Controls_ImageTests_Image_Stretch_Algmnt_Inf_Vertical_UITests_Shared_Windows_UI_Xaml_Controls_ImageTests_Image_Stretch_Algmnt_Inf_Vertical` - `ListView_ListView_With_ListViews_Count_Measure_UITests_Shared_Windows_UI_Xaml_Controls_ListView_ListView_With_ListViews_Count_Measure` - `ColorPicker_WinUIColorPickerPage_UITests_Shared_Microsoft_UI_Xaml_Controls_ColorPickerTests_WinUIColorPickerPage` - `Grid_CenteredGridinGridwiththreefixedsizechildren_Uno_UI_Samples_Content_UITests_GridTestsControl_CenteredGridinGridwiththreefixedsizechildren` - `Brushes_Uno_UI_Samples_Samples_Shared_Content_UITests_ImageBrushInList_Uno_UI_Samples_Samples_Shared_Content_UITests_ImageBrushInList` - `Image_Uno_UI_Samples_UITests_Image_Image_Stretch_Alignment_Taller_Uno_UI_Samples_UITests_Image_Image_Stretch_Alignment_Taller` - `ListView_ListViewSelectedItems_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListViewSelectedItems` - `MediaPlayerElement_MediaPlayerElement_Stretch_Fill_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Stretch_Fill` - `MediaPlayerElement_Mini_player_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Minimal` - `Image_Uno_UI_Samples_UITests_Image_Image_Stretch_Alignment_Bigger_Uno_UI_Samples_UITests_Image_Image_Stretch_Alignment_Bigger` - `WebView_UITests_Microsoft_UI_Xaml_Controls_WebView2Tests_WebView2_NavigationProperties_UITests_Microsoft_UI_Xaml_Controls_WebView2Tests_WebView2_NavigationProperties` - `WebView_UITests_Microsoft_UI_Xaml_Controls_WebViewTests_WebView_InvokeScriptAsync_UITests_Microsoft_UI_Xaml_Controls_WebViewTests_WebView_InvokeScriptAsync` - `Image_UITests_Shared_Windows_UI_Xaml_Controls_ImageTests_Image_Stretch_Alignment_SizeOnControl_UITests_Shared_Windows_UI_Xaml_Controls_ImageTests_Image_Stretch_Alignment_SizeOnControl` - `Image_UITests_Windows_UI_Xaml_Controls_ImageTests_Image_Formats_UITests_Windows_UI_Xaml_Controls_ImageTests_Image_Formats`
* `skia-gtk-screenshots`: **35** changed over 2196
🚨🚨 Comparison Details (first 20) 🚨🚨 - `Rectangle.png-dark` - `Rectangle.png` - `TransformToVisual_Transform.png-dark` - `TransformToVisual_Transform.png` - `Window_SetBackground.png` - `Ellipse.png-dark` - `ImagesInlineInFlipView.png` - `UIElement_ContextFlyout.png-dark` - `UIElement_ContextFlyout.png` - `DoubleImageBrushInList.png-dark` - `DoubleImageBrushInList.png` - `Ellipse.png` - `Native.png-dark` - `Native.png` - `SvgImageSource_Icons.png-dark` - `SvgImageSource_Icons.png` - `Using .avi.png-dark` - `Using .avi.png` - `PasswordBox_AutoFill.png-dark` - `PasswordBox_AutoFill.png`
* `skia-linux-screenshots`: **62** changed over 2196
🚨🚨 Comparison Details (first 20) 🚨🚨 - `DoubleImageBrushInList.png-dark` - `DoubleImageBrushInList.png` - `BorderImageBrush.png` - `BorderImageBrushRelativeTransform.png-dark` - `ImageBrushStretch2.png-dark` - `ImageBrushStretch2.png` - `ImageBrush_SameWithDelay.png-dark` - `ImageBrush_SameWithDelay.png` - `ImageBrush_StreamSource.png-dark` - `ImageBrush_StreamSource.png` - `BorderImageBrushRelativeTransform.png` - `ImageInStackPanel.png-dark` - `ImageInStackPanel.png` - `ImagesInlineInFlipView.png-dark` - `ImagesInlineInFlipView.png` - `ImageWithLateSourceUniformToFill.png-dark` - `ImageWithLateSourceUniformToFill.png` - `BorderImageBrush.png-dark` - `ImageBrushInList.png-dark` - `ImageBrushInList.png`
* `skia-windows-screenshots`: **41** changed over 2196
🚨🚨 Comparison Details (first 20) 🚨🚨 - `ImageSourceUrlMsAppDataScheme.png-dark` - `ImageSourceUrlMsAppDataScheme.png` - `Image_UseTargetSize.png-dark` - `Image_UseTargetSize.png` - `BorderImageBrush.png` - `DoubleImageBrushInList.png` - `EllipsemaskingEllipseSuperpositionPanel.png` - `ImageIconPage.png-dark` - `ImageIconPage.png` - `ImageBrush_SameWithDelay.png-dark` - `ImageBrush_SameWithDelay.png` - `ColorPickerSample.png` - `BorderImageBrush.png-dark` - `PanelImageBrush.png` - `PathImageBrushfill.png` - `SwipeControlPage2.png-dark` - `SwipeControlPage2.png` - `Native.png-dark` - `Native.png` - `RectanglemaskingRectangleGrid.png`
* `wasm`: **71** changed over 1046
🚨🚨 Comparison Details (first 20) 🚨🚨 - `GenericApp.Views.Content.UITests.Animations.DoubleAnimationUsingKeyFrames_TranslateX` - `GenericApp.Views.Content.UITests.Animations.DoubleAnimation_TranslateX` - `GenericApp.Views.Samples.Shared.Content.UITests.GridViewMultipleSelectionMode` - `MUXControlsTestApp.PaneLayoutTestPage` - `SamplesApp.Wasm.Windows_UI_Xaml_Controls.ListView.ListView_IsSelected` - `SamplesApp.Windows_UI_Xaml_Controls.ListView.ListViewWithinScollViewer` - `SamplesApp.Windows_UI_Xaml_Controls.ListView.UndefinedHeightListView` - `UITests.Windows_ApplicationModel.Contacts.PickContact` - `UITests.Windows_ApplicationModel.DataTransfer.DataTransferManagerTests` - `MUXControlsTestApp.NavigationViewItemTemplatePage` - `UITests.Microsoft_UI_Xaml_Controls.NavigationViewTests.NavigationViewBasicPage` - `UITests.Windows_UI_Xaml_Media_Animation.FadeInOutThemeAnimationPage` - `UITests.Microsoft_UI_Xaml_Controls.ProgressBar.WinUIProgressBarSimple` - `UITests.Shared.Microsoft_UI_Xaml_Controls.ColorPickerTests.WinUIColorPickerPage` - `UITests.Shared.Windows_UI_Xaml_Controls.ListView.ListView_DataTemplateSelector` - `UITests.Windows_UI_Xaml.DragAndDrop.DragDrop_ListView_Custom_States` - `UITests.Windows_UI_Xaml_Controls.Repeater.StackLayout_Simple` - `Uno.UI.Samples.Content.UITests.DoubleAnimationTestsControl` - `MUXControlsTestApp.NavigationViewBlankPage1` - `MUXControlsTestApp.RefreshVisualizerPage`
* `wasm-automated-net7.0-UWP-Default-automated`: **21** changed over 1963
🚨🚨 Comparison Details (first 20) 🚨🚨 - `Default_StrokeThickness_MyPolygon` - `ListView_ListViewSelectedItems_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListViewSelectedItems` - `ListView_SelectedItems_SamplesApp_Windows_UI_Xaml_Controls_ListView_ListViewSelectedItems` - `Brushes_Uno_UI_Samples_UITests_ImageBrushTestControl_Ellipse_Uno_UI_Samples_UITests_ImageBrushTestControl_Ellipse` - `Default_SamplesApp_Wasm_Windows_UI_Xaml_Controls_ListView_ListView_IsSelected_SamplesApp_Wasm_Windows_UI_Xaml_Controls_ListView_ListView_IsSelected` - `MediaPlayerElement_Sources_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Sources` - `Pickers_UITests_Shared_Windows_UI_Xaml_Controls_TimePicker_TimePicker_Flyout_Automated_Reload_UITests_Shared_Windows_UI_Xaml_Controls_TimePicker_TimePicker_Flyout_Automated_Reload` - `Brushes_BorderImageBrush_Uno_UI_Samples_UITests_ImageBrushTestControl_BorderImageBrush` - `Default_StrokeThickness_MyLine_0_StrokeThickness` - `MediaPlayerElement_Using_mp3_Audio_only_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Mp3_Extension` - `MediaPlayerElement_Using_ogg_UITests_Shared_Windows_UI_Xaml_Controls_MediaPlayerElement_MediaPlayerElement_Ogg_Extension` - `When_MultipleSelectionWithoutItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers` - `When_SingleSelectionWithItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers` - `When_SingleSelectionWithoutItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers` - `When_NoSelectionWithItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers` - `When_NoSelection_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers` - `TextBlock_TextBlock_Progressing_Trim_Uno_UI_Samples_Content_UITests_TextBlockControl_TextBlock_Progressing_Trim` - `TextBlock_TextBlock_Run_Inheritance_Uno_UI_Samples_Content_UITests_TextBlockControl_TextBlock_Run_Inheritance` - `When_ExtendedSelectionWithoutItemClick_Then_PointersEvents_UITests_Windows_UI_Xaml_Controls_ListView_ListView_Selection_Pointers` - `TestProgressRing_InitialState_UITests_Microsoft_UI_Xaml_Controls_ProgressRing_WinUIProgressRing_Features`
* `wasm-automated-net7.0-UWP-RuntimeTests-0`: **0** changed over 1 * `wasm-automated-net7.0-UWP-RuntimeTests-1`: **0** changed over 1 * `wasm-automated-net7.0-UWP-RuntimeTests-2`: **0** changed over 1 * `wasm-automated-net7.0-WinUI-Benchmarks-automated`: **0** changed over 1 * `wasm-automated-net7.0-WinUI-RuntimeTests-0`: **0** changed over 1 * `wasm-automated-net7.0-WinUI-RuntimeTests-1`: **0** changed over 1 * `wasm-automated-net7.0-WinUI-RuntimeTests-2`: **0** changed over 1