Skip to content

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Nov 7, 2025

Backport of #32278 to release/10.0.1xx-sr1

/cc @PureWeen @copilot

Copilot AI and others added 14 commits November 7, 2025 14:23
…pport

- Add CoordinatorLayoutEntry registry for tracking local listeners
- Implement optimized IsViewContainedIn with early termination
- Add proper nullability markers on all fields
- Update GlobalWindowInsetListener with comprehensive thread safety documentation
- Refactor IME animation handling with helper method
- Remove global listener from MauiAppCompatActivity
- Update ShellContentFragment and ShellSectionRenderer with local listeners
- Update NavigationRootManager with local listener support
- Improve code formatting and comments throughout

Co-authored-by: PureWeen <[email protected]>
- Update ViewHandler.Android.cs to use registry-based approach
- Update ContentViewGroup, LayoutViewGroup, MauiScrollView to use FindListenerForView
- Update SafeAreaExtensions.cs to use new listener pattern
- Update WindowHandler.Android.cs with cleanup comments
- Remove modal-specific listener code from ModalNavigationManager.Android.cs
- Format all changed files according to .editorconfig

Co-authored-by: PureWeen <[email protected]>
- Remove '?' from field declarations in ShellContentFragment and ShellSectionRenderer
- These files have #nullable disable directive so explicit nullable annotations cause errors
- Fields are still properly handled as nullable through null checks

Co-authored-by: PureWeen <[email protected]>
- Change _root from AView to CoordinatorLayout in ShellContentFragment
- Change _rootView from AView to CoordinatorLayout in ShellSectionRenderer
- Remove redundant _managedCoordinatorLayout fields since _root/_rootView are now typed
- GlobalWindowInsetListener registry already tracks the layout-listener pairs
- NavigationRootManager keeps _managedCoordinatorLayout since _rootView can be different types

Co-authored-by: PureWeen <[email protected]>
…egisterParentForChildViews

- Rename GlobalWindowInsetListener class to MauiWindowInsetListener for better clarity
- Rename GlobalWindowInsetListenerExtensions to MauiWindowInsetListenerExtensions
- Update extension methods: TrySetMauiWindowInsetListener, RemoveMauiWindowInsetListener
- Add RegisterParentForChildViews static method to register a parent for child insets without attaching listener to parent
- Update FlyoutViewHandler to use RegisterParentForChildViews instead of instantiating listener
- Update all references across codebase

Co-authored-by: PureWeen <[email protected]>
- Set SafeAreaEdges = SafeAreaEdges.None on childLayout (VerticalStackLayout)
- Set SafeAreaEdges = SafeAreaEdges.None on scrollView (ScrollView)
- Set SafeAreaEdges = SafeAreaEdges.None on parentLayout (Grid)
- This ensures the test is isolated from safe area inset handling changes

Co-authored-by: PureWeen <[email protected]>
Reverted formatting changes (indentation, whitespace) from files that had no functional changes:
- EditTextExtensions.cs
- ViewExtensions.cs
- PickerExtensions.cs
- SearchViewExtensions.cs
- StepperHandlerManager.cs
- MauiPageControl.cs
- MauiSwipeView.cs
- MauiWebView.cs
- IHandleWindowInsets.cs
- ShellToolbarTracker.cs
- ShellFlyoutTemplatedContentRenderer.cs

Kept functional change in SafeAreaExtensions.cs (MauiWindowInsetListener.FindListenerForView) while reverting formatting changes.

This makes the PR focused on functional changes only, with formatting changes deferred to a separate PR.

Co-authored-by: PureWeen <[email protected]>
@PureWeen PureWeen merged commit 2c8cee6 into release/10.0.1xx-sr1 Nov 7, 2025
3 checks passed
@PureWeen PureWeen deleted the backport/pr-32278-to-release/10.0.1xx-sr1 branch November 7, 2025 20:19
@github-actions github-actions bot locked and limited conversation to collaborators Dec 8, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants