From 121d354af84287f569e57aa9af96b77509809f0e Mon Sep 17 00:00:00 2001 From: Mike Goatly <4577868+mikegoatly@users.noreply.github.com> Date: Wed, 8 Jul 2026 08:00:38 +0100 Subject: [PATCH] Fix Android crash populating accessibility node for peers that conditionally hide a provider (#21726) Co-authored-by: Steven Kirk --- .../Avalonia.Android/AvaloniaAccessHelper.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Android/Avalonia.Android/AvaloniaAccessHelper.cs b/src/Android/Avalonia.Android/AvaloniaAccessHelper.cs index 7534d8c83d..4da035f877 100644 --- a/src/Android/Avalonia.Android/AvaloniaAccessHelper.cs +++ b/src/Android/Avalonia.Android/AvaloniaAccessHelper.cs @@ -111,19 +111,19 @@ namespace Avalonia.Android } }; - if (peer is IExpandCollapseProvider) + if (peer.GetProvider() is not null) nodeInfoProviders.Add(new ExpandCollapseNodeInfoProvider(this, peer, peerViewId)); - if (peer is IInvokeProvider) + if (peer.GetProvider() is not null) nodeInfoProviders.Add(new InvokeNodeInfoProvider(this, peer, peerViewId)); - if (peer is IRangeValueProvider) + if (peer.GetProvider() is not null) nodeInfoProviders.Add(new RangeValueNodeInfoProvider(this, peer, peerViewId)); - if (peer is IScrollProvider) + if (peer.GetProvider() is not null) nodeInfoProviders.Add(new ScrollNodeInfoProvider(this, peer, peerViewId)); - if (peer is ISelectionItemProvider) + if (peer.GetProvider() is not null) nodeInfoProviders.Add(new SelectionItemNodeInfoProvider(this, peer, peerViewId)); - if (peer is IToggleProvider) + if (peer.GetProvider() is not null) nodeInfoProviders.Add(new ToggleNodeInfoProvider(this, peer, peerViewId)); - if (peer is IValueProvider) + if (peer.GetProvider() is not null) nodeInfoProviders.Add(new ValueNodeInfoProvider(this, peer, peerViewId)); }