Skip to content

[Android] Fix blank gap when HasNavigationBar=false with SafeAreaEdges=None - #36072

Merged
kubaflo merged 3 commits into
dotnet:inflight/currentfrom
praveenkumarkarunanithi:fix-35103
Jul 8, 2026
Merged

kubaflo merged 3 commits into
dotnet:inflight/currentfrom
praveenkumarkarunanithi:fix-35103

Conversation

@praveenkumarkarunanithi

Copy link
Copy Markdown
Contributor

Note

Are you waiting for the changes in this PR to be merged?
It would be very helpful if you could test the resulting artifacts from this PR and let us know in a comment if this change resolves your issue.
Thank you!

Root Cause

When NavigationPage.HasNavigationBar is set to false, ToolbarExtensions.UpdateIsVisible collapses the toolbar height to 0. However, the AppBarLayout parent retains stale top padding from a previous inset dispatch — for example, 159px from the status bar/cutout.

Even with toolbar height 0, AppBarLayout.MeasuredHeight remains at 159px because it is driven by padding alone. MauiWindowInsetListener checks MeasuredHeight > 0 to determine whether the AppBar has content. Since it sees 159 > 0, it treats the AppBar as having content, consumes the top system inset, and the inset never reaches SafeAreaExtensions downstream.

The result is a blank gap at the top of the screen equal to the status bar height — visible on both NavigationPage (when a page is pushed with the nav bar hidden) and Shell (when the navigation bar is hidden at runtime).

Description of Change

A single line is added to ToolbarExtensions.UpdateIsVisible in the !showNavBar branch to call SetPadding(0, 0, 0, 0) on the AppBarLayout.

This clears the stale padding so MeasuredHeight collapses to 0. The inset listener then correctly identifies the AppBar as having no content, passes the top inset downstream, and SafeAreaEdges=None is fully respected with no blank gap.

The re-show path is safe — RequestApplyInsets is called in both branches of UpdateIsVisible, so the next inset dispatch naturally restores the correct padding when the nav bar is shown again.

Parent traversal uses nativeToolbar.Parent?.GetParentOfType<AppBarLayout>() — the established MAUI pattern used in ShellToolbarTracker.cs.

Two new device tests pin the fix for both affected paths:

Issues Fixed

Fixes #35103
Fixes #34472

Tested the behaviour in the following platforms

  • Android
  • Windows
  • iOS
  • Mac

Screenshots

Before Issue Fix After Issue Fix
WithoutFix.mov
WithFix.mov

@github-actions

Copy link
Copy Markdown
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.sh | bash -s -- 36072

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.ps1) } 36072"

@dotnet-policy-service dotnet-policy-service Bot added the partner/syncfusion Issues / PR's with Syncfusion collaboration label Jun 23, 2026
@praveenkumarkarunanithi praveenkumarkarunanithi added platform/android area-safearea Issues/PRs that have to do with the SafeArea functionality and removed partner/syncfusion Issues / PR's with Syncfusion collaboration labels Jun 23, 2026
@NirmalKumarYuvaraj NirmalKumarYuvaraj added the community ✨ Community Contribution label Jun 23, 2026
@vishnumenon2684

Copy link
Copy Markdown
Contributor

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 3 pipeline(s).

PureWeen added a commit that referenced this pull request Jun 24, 2026
Validating /review tests on open PR #36072 surfaced a false-positive
deterministic regression: the Android SDK 'platform-tools;35.0.2'
provisioning flake ('Failed to find package') was labeled
regressed-vs-base, inflating the regression count 9->7 and over-claiming
PR causation on a purely environmental failure.

Root cause: legRegressedVsBase latched across occurrences. The same
failure sprayed onto two legs of the PR build -- one flaky on base
(failed attempt 1, passed on retry => inconclusive-on-base) and one
cleanly green on base. The clean-green leg latched legRegressed=true
while the inconclusive-conflict signal from the other leg was dropped.

Two layered guards, both FALSE-RED reductions only (a demoted failure
falls to 'indeterminate'/NHI and can never become a false green):
 1. Provisioning/infra signature guard: failures matching Android SDK
    package-fetch / avdmanager / disk-full signatures are environmental
    and nondeterministic, so they never set legRegressed.
 2. Cross-leg conflict veto: if a failure regressed cleanly in one leg
    but was flaky (inconclusive) on base in another leg, suppress the
    clean-regression claim.

Verified on #36072: 9->7 regressions (2 platform-tools demoted to
indeterminate), verdict correctly stays 'Not ready' on the 7 genuine
green-on-base/red-on-PR UI-test legs. Harness 167->178 assertions, green.
SKILL.md attribution contract updated (inconclusive-on-base + the
computed infra/flaky exclusions).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
PureWeen added a commit that referenced this pull request Jun 24, 2026
…es (demote+enrich only)

The deterministic leg diff compares each PR leg to the ONE most recent
completed base build, so a test that is flaky/regressed on the base
BRANCH but happened to be green on that single build shows up as a false
'regressed-vs-base'. This is the single-base-build limitation called out
when validating /review tests on open PRs.

The repo already maintains a richer signal: the open '[ci-scan]' issues
produced by the CI Failure Scanner (ci-status-* agentic workflow), which
track recurring flakes, regressions, and build breaks on the main /
net11.0 base branches across MANY builds, with explicit branch, affected
legs, occurrence counts, and error signatures. The gatherer did not
consult them.

Wire ci-scan in as a DEMOTE + ENRICH signal only (never dismiss-to-green):
 - Get-CiScanIssues parses each open ci-scan issue into a matcher: branch
   family, class (recurring/regression/build-break), the set of test-name
   tokens it documents, affected-leg tokens, occurrence text, and a
   legScoped flag (whole-leg instability vs a single named test).
 - Test-CiScanMatch matches a failure by exact leaf test-name (precise) or,
   for legScoped issues only (OneTimeSetUp/mass/env/build-break), by
   affected-leg overlap. Branch family must match -- a main PR is never
   demoted by a net11.0 issue, and vice versa.
 - When the leg diff computed a clean single-base 'regressed-vs-base' AND
   ci-scan documents that exact test/leg failing on the base branch, the
   regression is demoted to 'indeterminate' (NHI) with ciScanDemoted=true.

This is a false-RED reduction ONLY: a demoted failure still forbids a green
verdict (ceiling stays >= NHI), so a ci-scan hit -- an LLM-generated,
possibly-stale hint -- can never turn a red check green; it can only move an
over-confident 'Not ready' down to 'needs a human'. The legScoped gate stops
a single-test issue's incidental leg from over-demoting unrelated tests on a
busy leg.

Validated live on #36072: 4 Android API-30 regressions on the OneTimeSetUp-
flaky leg (documented by #35958, 2+/10 builds on main) demoted to NHI; the
3 genuine off-leg regressions (DragAndDrop/Alerts/AcceptedOperationNone...)
preserved; verdict correctly stays 'Not ready'. Unit harness: 23 matcher
assertions (branch gate, exact-token, legScoped) + 13 in the main harness
(now 191), all green. SKILL.md contract updated. Gatherer + SKILL.md are
referenced by path (not inlined in the lock), so no workflow recompile.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@sheiksyedm sheiksyedm added the partner/syncfusion Issues / PR's with Syncfusion collaboration label Jun 24, 2026
@vishnumenon2684

Copy link
Copy Markdown
Contributor

/azp run maui-pr-uitests , maui-pr-devicetests

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

@sheiksyedm
sheiksyedm marked this pull request as ready for review July 1, 2026 10:49
Copilot AI review requested due to automatic review settings July 1, 2026 10:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Fixes an Android edge-to-edge inset regression where hiding the navigation bar (HasNavigationBar=false / Shell.NavBarIsVisible=false) could leave stale AppBarLayout padding, causing the top system inset to be incorrectly consumed and resulting in a blank gap when SafeAreaEdges=None.

Changes:

  • Clear stale AppBarLayout padding when the Android toolbar is hidden so MauiWindowInsetListener no longer treats the app bar as “having content”.
  • Add Android UI test coverage for the NavigationPage push scenario tied to issue #34472.
  • Add Android device tests (Shell + NavigationPage) and shared helpers to validate inset consumption behavior with synthetic top insets.

Reviewed changes

Copilot reviewed 6 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/Controls/src/Core/Platform/Android/Extensions/ToolbarExtensions.cs Clears AppBarLayout padding when hiding the toolbar to prevent top inset being consumed by stale padding.
src/Controls/tests/DeviceTests/ControlsHandlerTestBase.Android.cs Adds reusable helpers to create synthetic insets and capture applied insets during device tests.
src/Controls/tests/DeviceTests/Elements/NavigationPage/NavigationPageTests.Android.cs Adds a device regression test asserting app bar padding clears and top insets pass through when pushing a page with nav bar hidden.
src/Controls/tests/DeviceTests/Elements/Shell/ShellTests.Android.cs Adds a device regression test asserting app bar padding clears and top insets pass through when Shell nav bar is hidden.
src/Controls/tests/TestCases.HostApp/Issues/Issue34472.cs Adds a HostApp repro page for the NavigationPage SafeAreaEdges regression on Android.
src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue34472.cs Adds an Android UI test validating consistent top positioning between pushed vs. main-page scenarios.

@MauiBot MauiBot left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI Review Summary

@praveenkumarkarunanithi — new AI review results are available based on this last commit: 15124a4. To request a fresh review after new comments or commits, comment /review rerun.

Gate Passed Confidence Low Platform Android


🗂️ Review Sessions — click to expand
🚦 Gate — Test Before & After Fix

Gate Result: ✅ PASSED

Platform: ANDROID · Base: main · Merge base: 89a4e02d

Test Without Fix (expect FAIL) With Fix (expect PASS)
📱 ControlsHandlerTestBase ControlsHandlerTestBase ✅ FAIL — 2142s ✅ PASS — 968s
📱 NavigationPageTests (PushingToPageWithoutNavigationBarClearsAppBarInsetPadding) Category=NavigationPage ✅ FAIL — 266s ✅ PASS — 255s
📱 ShellTests (HiddenShellNavigationBarClearsAppBarInsetPadding) Category=Shell ✅ FAIL — 306s ✅ PASS — 301s
🖥️ Issue34472 Issue34472 ✅ FAIL — 596s ✅ PASS — 575s
🔴 Without fix — 📱 ControlsHandlerTestBase: FAIL ✅ · 2142s

(truncated to last 15,000 chars)

  [121/133] System.Threading.Thread.dll -> System.Threading.Thread.dll.so
  [122/133] System.Text.Json.dll -> System.Text.Json.dll.so
  [123/133] System.Threading.ThreadPool.dll -> System.Threading.ThreadPool.dll.so
  [39/133] Xamarin.AndroidX.CursorAdapter.dll -> Xamarin.AndroidX.CursorAdapter.dll.so
  [124/133] System.Threading.dll -> System.Threading.dll.so
  [125/133] System.Xml.Linq.dll -> System.Xml.Linq.dll.so
  [126/133] System.Xml.ReaderWriter.dll -> System.Xml.ReaderWriter.dll.so
  [40/133] Xamarin.AndroidX.CustomView.dll -> Xamarin.AndroidX.CustomView.dll.so
  [127/133] System.dll -> System.dll.so
  [128/133] System.Xml.XDocument.dll -> System.Xml.XDocument.dll.so
  [41/133] Xamarin.AndroidX.DrawerLayout.dll -> Xamarin.AndroidX.DrawerLayout.dll.so
  [129/133] netstandard.dll -> netstandard.dll.so
  [130/133] Mono.Android.Runtime.dll -> Mono.Android.Runtime.dll.so
  [42/133] Xamarin.AndroidX.Fragment.dll -> Xamarin.AndroidX.Fragment.dll.so
  [131/133] Java.Interop.dll -> Java.Interop.dll.so
  [43/133] Xamarin.AndroidX.Lifecycle.Common.Jvm.dll -> Xamarin.AndroidX.Lifecycle.Common.Jvm.dll.so
  [44/133] Xamarin.AndroidX.Lifecycle.LiveData.Core.dll -> Xamarin.AndroidX.Lifecycle.LiveData.Core.dll.so
  [45/133] Xamarin.AndroidX.Lifecycle.ViewModel.Android.dll -> Xamarin.AndroidX.Lifecycle.ViewModel.Android.dll.so
  [46/133] Xamarin.AndroidX.Lifecycle.ViewModelSavedState.Android.dll -> Xamarin.AndroidX.Lifecycle.ViewModelSavedState.Android.dll.so
  [47/133] Xamarin.AndroidX.Loader.dll -> Xamarin.AndroidX.Loader.dll.so
  [48/133] Xamarin.AndroidX.Navigation.Common.Android.dll -> Xamarin.AndroidX.Navigation.Common.Android.dll.so
  [132/133] Mono.Android.dll -> Mono.Android.dll.so
  [49/133] Xamarin.AndroidX.Navigation.Fragment.dll -> Xamarin.AndroidX.Navigation.Fragment.dll.so
  [50/133] Xamarin.AndroidX.Navigation.Runtime.Android.dll -> Xamarin.AndroidX.Navigation.Runtime.Android.dll.so
  [51/133] Xamarin.AndroidX.Navigation.UI.dll -> Xamarin.AndroidX.Navigation.UI.dll.so
  [52/133] Xamarin.AndroidX.RecyclerView.dll -> Xamarin.AndroidX.RecyclerView.dll.so
  [53/133] Xamarin.AndroidX.SavedState.SavedState.Android.dll -> Xamarin.AndroidX.SavedState.SavedState.Android.dll.so
  [54/133] Xamarin.AndroidX.SwipeRefreshLayout.dll -> Xamarin.AndroidX.SwipeRefreshLayout.dll.so
  [55/133] Xamarin.AndroidX.ViewPager.dll -> Xamarin.AndroidX.ViewPager.dll.so
  [56/133] Xamarin.AndroidX.ViewPager2.dll -> Xamarin.AndroidX.ViewPager2.dll.so
  [57/133] Xamarin.Google.Android.Material.dll -> Xamarin.Google.Android.Material.dll.so
  [58/133] Xamarin.GooglePlayServices.Base.dll -> Xamarin.GooglePlayServices.Base.dll.so
  [59/133] Xamarin.GooglePlayServices.Basement.dll -> Xamarin.GooglePlayServices.Basement.dll.so
  [60/133] Xamarin.GooglePlayServices.Maps.dll -> Xamarin.GooglePlayServices.Maps.dll.so
  [61/133] Xamarin.GooglePlayServices.Tasks.dll -> Xamarin.GooglePlayServices.Tasks.dll.so
  [62/133] Xamarin.Kotlin.StdLib.dll -> Xamarin.Kotlin.StdLib.dll.so
  [63/133] Xamarin.KotlinX.Coroutines.Core.Jvm.dll -> Xamarin.KotlinX.Coroutines.Core.Jvm.dll.so
  [64/133] Xamarin.KotlinX.Serialization.Core.Jvm.dll -> Xamarin.KotlinX.Serialization.Core.Jvm.dll.so
  [133/133] System.Private.CoreLib.dll -> System.Private.CoreLib.dll.so
  [65/133] xunit.abstractions.dll -> xunit.abstractions.dll.so
  [66/133] xunit.assert.dll -> xunit.assert.dll.so
  [67/133] xunit.core.dll -> xunit.core.dll.so
  [68/133] xunit.execution.dotnet.dll -> xunit.execution.dotnet.dll.so
  [69/133] xunit.runner.utility.netcoreapp10.dll -> xunit.runner.utility.netcoreapp10.dll.so
  [70/133] System.Collections.Concurrent.dll -> System.Collections.Concurrent.dll.so
  [71/133] System.Collections.Immutable.dll -> System.Collections.Immutable.dll.so
  [72/133] System.Collections.NonGeneric.dll -> System.Collections.NonGeneric.dll.so
  [73/133] System.Collections.Specialized.dll -> System.Collections.Specialized.dll.so
  [74/133] System.Collections.dll -> System.Collections.dll.so
  [75/133] System.ComponentModel.Primitives.dll -> System.ComponentModel.Primitives.dll.so
  [76/133] System.ComponentModel.TypeConverter.dll -> System.ComponentModel.TypeConverter.dll.so
  [77/133] System.ComponentModel.dll -> System.ComponentModel.dll.so
  [78/133] System.Console.dll -> System.Console.dll.so
  [79/133] System.Diagnostics.Debug.dll -> System.Diagnostics.Debug.dll.so
  [80/133] System.Diagnostics.DiagnosticSource.dll -> System.Diagnostics.DiagnosticSource.dll.so
  [81/133] System.Diagnostics.Process.dll -> System.Diagnostics.Process.dll.so
  [82/133] System.Diagnostics.Tools.dll -> System.Diagnostics.Tools.dll.so
  [83/133] System.Diagnostics.TraceSource.dll -> System.Diagnostics.TraceSource.dll.so
  [84/133] System.Diagnostics.Tracing.dll -> System.Diagnostics.Tracing.dll.so
  [85/133] System.Drawing.Primitives.dll -> System.Drawing.Primitives.dll.so
  [86/133] System.Drawing.dll -> System.Drawing.dll.so
  [87/133] System.Formats.Asn1.dll -> System.Formats.Asn1.dll.so
  [88/133] System.Globalization.dll -> System.Globalization.dll.so
  [89/133] System.IO.Compression.Brotli.dll -> System.IO.Compression.Brotli.dll.so
  [90/133] System.IO.Compression.dll -> System.IO.Compression.dll.so
  [91/133] System.IO.FileSystem.dll -> System.IO.FileSystem.dll.so
  [92/133] System.IO.Pipelines.dll -> System.IO.Pipelines.dll.so
  [93/133] System.IO.dll -> System.IO.dll.so
  [94/133] System.Linq.Expressions.dll -> System.Linq.Expressions.dll.so
  [95/133] System.Linq.dll -> System.Linq.dll.so
  [96/133] System.Memory.dll -> System.Memory.dll.so
  [97/133] System.Net.Http.dll -> System.Net.Http.dll.so
  [98/133] System.Net.NameResolution.dll -> System.Net.NameResolution.dll.so
  [99/133] System.Net.Primitives.dll -> System.Net.Primitives.dll.so
  [100/133] System.Net.Requests.dll -> System.Net.Requests.dll.so
  [101/133] System.Net.Sockets.dll -> System.Net.Sockets.dll.so
  [102/133] System.Numerics.Vectors.dll -> System.Numerics.Vectors.dll.so
  [103/133] System.ObjectModel.dll -> System.ObjectModel.dll.so
  [104/133] System.Private.Uri.dll -> System.Private.Uri.dll.so
  [105/133] System.Private.Xml.Linq.dll -> System.Private.Xml.Linq.dll.so
  [106/133] System.Private.Xml.dll -> System.Private.Xml.dll.so
  [107/133] System.Reflection.Extensions.dll -> System.Reflection.Extensions.dll.so
  [108/133] System.Reflection.TypeExtensions.dll -> System.Reflection.TypeExtensions.dll.so
  [109/133] System.Reflection.dll -> System.Reflection.dll.so
  [110/133] System.Runtime.Extensions.dll -> System.Runtime.Extensions.dll.so
  [111/133] System.Runtime.InteropServices.RuntimeInformation.dll -> System.Runtime.InteropServices.RuntimeInformation.dll.so
  [112/133] System.Runtime.InteropServices.dll -> System.Runtime.InteropServices.dll.so
  [113/133] System.Runtime.Loader.dll -> System.Runtime.Loader.dll.so
  [114/133] System.Runtime.Numerics.dll -> System.Runtime.Numerics.dll.so
  [115/133] System.Runtime.dll -> System.Runtime.dll.so
  [116/133] System.Security.Cryptography.dll -> System.Security.Cryptography.dll.so
  [117/133] System.Text.Encoding.dll -> System.Text.Encoding.dll.so
  [118/133] System.Text.Encodings.Web.dll -> System.Text.Encodings.Web.dll.so
  [119/133] System.Text.Json.dll -> System.Text.Json.dll.so
  [120/133] System.Text.RegularExpressions.dll -> System.Text.RegularExpressions.dll.so
  [121/133] System.Threading.Tasks.dll -> System.Threading.Tasks.dll.so
  [122/133] System.Threading.Thread.dll -> System.Threading.Thread.dll.so
  [123/133] System.Threading.ThreadPool.dll -> System.Threading.ThreadPool.dll.so
  [124/133] System.Threading.dll -> System.Threading.dll.so
  [125/133] System.Xml.Linq.dll -> System.Xml.Linq.dll.so
  [126/133] System.Xml.ReaderWriter.dll -> System.Xml.ReaderWriter.dll.so
  [127/133] System.Xml.XDocument.dll -> System.Xml.XDocument.dll.so
  [128/133] System.dll -> System.dll.so
  [129/133] netstandard.dll -> netstandard.dll.so
  [130/133] Java.Interop.dll -> Java.Interop.dll.so
  [131/133] Mono.Android.Runtime.dll -> Mono.Android.Runtime.dll.so
  [132/133] Mono.Android.dll -> Mono.Android.dll.so
  [133/133] System.Private.CoreLib.dll -> System.Private.CoreLib.dll.so

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:11:04.90
[11.0.0-prerelease.26230.4+92962e5c46ac08a66ded4c5696209cc60f1a232f] XHarness command issued: android test --app /home/vsts/work/1/s/artifacts/bin/Controls.DeviceTests/Release/net10.0-android/com.microsoft.maui.controls.devicetests-Signed.apk --package-name com.microsoft.maui.controls.devicetests --device-id emulator-5554 -o artifacts/log --timeout 01:00:00 -v --arg TestFilter=ControlsHandlerTestBase
�[40m�[37mdbug�[39m�[22m�[49m: ADBRunner using ADB.exe supplied from /home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/tools/net10.0/any/../../../runtimes/any/native/adb/linux/adb
�[40m�[37mdbug�[39m�[22m�[49m: Full resolved path:'/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb'
�[40m�[32minfo�[39m�[22m�[49m: Will attempt to find device supporting architectures: 'arm64-v8a', 'x86_64'
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb start-server'
�[40m�[37mdbug�[39m�[22m�[49m: 
�[40m�[32minfo�[39m�[22m�[49m: Finding attached devices/emulators...
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb devices -l'
�[40m�[37mdbug�[39m�[22m�[49m: Found 1 possible devices
�[40m�[37mdbug�[39m�[22m�[49m: Evaluating output line for device serial: emulator-5554          device product:sdk_gphone_x86_64 model:sdk_gphone_x86_64 device:generic_x86_64_arm64 transport_id:2
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 shell getprop ro.product.cpu.abilist'
�[40m�[37mdbug�[39m�[22m�[49m: Found 1 possible devices. Using 'emulator-5554'
�[40m�[32minfo�[39m�[22m�[49m: Active Android device set to serial 'emulator-5554'
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 -s emulator-5554 shell getprop ro.product.cpu.abi'
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 -s emulator-5554 shell getprop ro.build.version.sdk'
�[40m�[32minfo�[39m�[22m�[49m: Waiting for device to be available (max 5 minutes)
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 wait-for-device'
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 -s emulator-5554 shell getprop sys.boot_completed'
�[40m�[37mdbug�[39m�[22m�[49m: sys.boot_completed = '1'
�[40m�[37mdbug�[39m�[22m�[49m: Waited 0 seconds for device boot completion
�[40m�[37mdbug�[39m�[22m�[49m: Working with emulator-5554 (API 30)
�[40m�[37mdbug�[39m�[22m�[49m: Check current adb install and/or package verification settings
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 shell settings get global verifier_verify_adb_installs'
�[40m�[37mdbug�[39m�[22m�[49m: verifier_verify_adb_installs = 0
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 shell settings get global package_verifier_enable'
�[40m�[37mdbug�[39m�[22m�[49m: package_verifier_enable = 
�[40m�[1m�[33mwarn�[39m�[22m�[49m: Installing debug apks on a device might be rejected with INSTALL_FAILED_VERIFICATION_FAILURE. Make sure to set 'package_verifier_enable' to '0'
�[40m�[32minfo�[39m�[22m�[49m: Attempting to remove apk 'com.microsoft.maui.controls.devicetests'..
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 uninstall com.microsoft.maui.controls.devicetests'
�[41m�[30mfail�[39m�[22m�[49m: Waiting for command timed out: execution may be compromised
�[41m�[30mfail�[39m�[22m�[49m: Error: Exit code: -2
      Std out:
      
      
      
�[40m�[32minfo�[39m�[22m�[49m: Attempting to install /home/vsts/work/1/s/artifacts/bin/Controls.DeviceTests/Release/net10.0-android/com.microsoft.maui.controls.devicetests-Signed.apk
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 install /home/vsts/work/1/s/artifacts/bin/Controls.DeviceTests/Release/net10.0-android/com.microsoft.maui.controls.devicetests-Signed.apk'
�[41m�[30mfail�[39m�[22m�[49m: Error:
      Exit code: 1
      Std out:
      Serving...
      Performing Incremental Install
      cmd: Failure calling service package: Broken pipe (32)
      Performing Streamed Install
      
      
      Std err:
      All files should be loaded. Notifying the device.
      adb: failed to install /home/vsts/work/1/s/artifacts/bin/Controls.DeviceTests/Release/net10.0-android/com.microsoft.maui.controls.devicetests-Signed.apk: cmd: Can't find service: package
      
      
      
�[41m�[1m�[37mcrit�[39m�[22m�[49m: Install failure: Test command cannot continue
�[40m�[32minfo�[39m�[22m�[49m: Attempting to remove apk 'com.microsoft.maui.controls.devicetests'..
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 uninstall com.microsoft.maui.controls.devicetests'
�[41m�[30mfail�[39m�[22m�[49m: Error: Exit code: 20
      Std out:
      
      
      Std err:
      cmd: Can't find service: package
      
      
      
�[40m�[32minfo�[39m�[22m�[49m: Attempting to remove apk 'com.microsoft.maui.controls.devicetests'..
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 uninstall com.microsoft.maui.controls.devicetests'
�[41m�[30mfail�[39m�[22m�[49m: Error: Exit code: 20
      Std out:
      
      
      Std err:
      cmd: Can't find service: package
      
      
      
XHarness exit code: 78 (PACKAGE_INSTALLATION_FAILURE)
  Tests completed with exit code: 78

🟢 With fix — 📱 ControlsHandlerTestBase: PASS ✅ · 968s

(truncated to last 15,000 chars)

ASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:55.059 14066 17562 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:55.181 14066 17567 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:55.306 14066 17572 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:55.414 14066 17577 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:55.655 14066 17582 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:55.830 14066 17587 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:55.948 14066 17592 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:56.088 14066 17597 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:56.218 14066 17602 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:56.332 14066 17607 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:56.543 14066 17612 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:56.713 14066 17617 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:56.863 14066 17622 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:57.029 14066 17627 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:57.179 14066 17632 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:57.412 14066 17637 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:57.596 14066 17642 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:57.813 14066 17647 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:57.997 14066 17652 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:58.180 14066 17657 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:58.364 14066 17662 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:58.530 14066 17667 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:58.530 14066 17667 I DOTNET  : Microsoft.Maui.DeviceTests.ViewTests 6.6376029 ms
      07-05 21:30:58.530 14066 17667 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.HybridWebViewTests_Initialization
      07-05 21:30:59.199 14066 17673 I DOTNET  : 	[PASS] CanSetUserAgentUsingProperties
      07-05 21:30:59.895 14066 17679 I DOTNET  : 	[PASS] CanSetUserAgentUsingInitializingEvent
      07-05 21:31:00.634 14066 17686 I DOTNET  : 	[PASS] InitializedEventIsRaised
      07-05 21:31:01.280 14066 17693 I DOTNET  : 	[PASS] InitializingEventIsRaised
      07-05 21:31:01.971 14066 17700 I DOTNET  : 	[PASS] InitializingEventIsRaisedAndPropertiesSetAreApplied
      07-05 21:31:01.972 14066 17700 I DOTNET  : Microsoft.Maui.DeviceTests.HybridWebViewTests_Initialization 3.4381622 ms
      07-05 21:31:01.972 14066 17700 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.VisualElementRendererTests
      07-05 21:31:02.083 14066 17700 I DOTNET  : 	[PASS] CompatibilityRendererWorksWithNoInnerContrlSpecified
      07-05 21:31:02.083 14066 17700 I DOTNET  : Microsoft.Maui.DeviceTests.VisualElementRendererTests 0.0042772 ms
      07-05 21:31:02.083 14066 17700 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.HybridWebViewTests_InvokeDotNet
      07-05 21:31:02.718 14066 14086 I DOTNET  : fail: Microsoft.Maui.Platform.MauiHybridWebViewClient[0]
      07-05 21:31:02.718 14066 14086 I DOTNET  :       InvokeDotNet endpoint missing or invalid request header
      07-05 21:31:03.226 14066 17706 I DOTNET  : 	[PASS] GetRequestsAreBlocked
      07-05 21:31:03.913 14066 14086 I DOTNET  : fail: Microsoft.Maui.Platform.MauiHybridWebViewClient[0]
      07-05 21:31:03.913 14066 14086 I DOTNET  :       InvokeDotNet endpoint missing or invalid request header
      07-05 21:31:04.211 14066 17712 I DOTNET  : 	[PASS] InvalidTokenHeaderIsBlocked
      07-05 21:31:04.211 14066 17712 I DOTNET  : 	[IGNORED] IframeRequestIsBlocked
      07-05 21:31:04.849 14066 14086 I DOTNET  : fail: Microsoft.Maui.Platform.MauiHybridWebViewClient[0]
      07-05 21:31:04.849 14066 14086 I DOTNET  :       InvokeDotNet request missing X-Maui-Request-Body header
      07-05 21:31:05.149 14066 17718 I DOTNET  : 	[PASS] EmptyBodyIsBlocked
      07-05 21:31:05.792 14066 14086 I DOTNET  : fail: Microsoft.Maui.Handlers.HybridWebViewHandler[0]
      07-05 21:31:05.792 14066 14086 I DOTNET  :       An error occurred while invoking a .NET method from JavaScript: The invoke data did not provide a method name.
      07-05 21:31:05.792 14066 14086 I DOTNET  :       System.InvalidOperationException: The invoke data did not provide a method name.
      07-05 21:31:05.792 14066 14086 I DOTNET  :          at Microsoft.Maui.HybridWebViewHelper.ProcessInvokeDotNetAsync(Object invokeTarget, Type invokeTargetType, ILogger logger, Stream streamBody, String stringBody)
      07-05 21:31:06.302 14066 17724 I DOTNET  : 	[PASS] ValidRequestIsNotBlocked
      07-05 21:31:06.990 14066 14086 I DOTNET  : fail: Microsoft.Maui.Platform.MauiHybridWebViewClient[0]
      07-05 21:31:06.990 14066 14086 I DOTNET  :       InvokeDotNet endpoint only accepts POST requests. Received: GET
      07-05 21:31:07.501 14066 17730 I DOTNET  : 	[PASS] GetRequestWithHeaderIsBlocked
      07-05 21:31:08.175 14066 14086 I DOTNET  : fail: Microsoft.Maui.Platform.MauiHybridWebViewClient[0]
      07-05 21:31:08.175 14066 14086 I DOTNET  :       InvokeDotNet endpoint missing or invalid request header
      07-05 21:31:08.434 14066 17736 I DOTNET  : 	[PASS] MissingTokenHeaderIsBlocked
      07-05 21:31:09.109 14066 14086 I DOTNET  : fail: Microsoft.Maui.Platform.MauiHybridWebViewClient[0]
      07-05 21:31:09.109 14066 14086 I DOTNET  :       InvokeDotNet request missing X-Maui-Request-Body header
      07-05 21:31:09.366 14066 17742 I DOTNET  : 	[PASS] MissingBodyHeaderIsBlocked
      07-05 21:31:09.366 14066 17742 I DOTNET  : Microsoft.Maui.DeviceTests.HybridWebViewTests_InvokeDotNet 7.2786471 ms
      07-05 21:31:09.366 14066 17742 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.DispatchingTests
      07-05 21:31:09.897 14066 17747 I DOTNET  : 	[PASS] DispatchFromBackgroundThread
      07-05 21:31:09.897 14066 17747 I DOTNET  : Microsoft.Maui.DeviceTests.DispatchingTests 0.5301764 ms
      07-05 21:31:09.897 14066 17747 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.HybridWebViewTests_ContentRootResolution
      07-05 21:31:10.578 14066 17753 I DOTNET  : 	[PASS] RootedPath_DoesNotResolve
      07-05 21:31:11.239 14066 17759 I DOTNET  : 	[PASS] RootedPath_DoesNotResolve
      07-05 21:31:11.899 14066 17765 I DOTNET  : 	[PASS] RootedPath_DoesNotResolve
      07-05 21:31:12.594 14066 17771 I DOTNET  : 	[PASS] RelativePaths_ResolveToContent
      07-05 21:31:13.282 14066 17778 I DOTNET  : 	[PASS] RelativePaths_ResolveToContent
      07-05 21:31:13.970 14066 17784 I DOTNET  : 	[PASS] RelativePaths_ResolveToContent
      07-05 21:31:14.655 14066 17790 I DOTNET  : 	[PASS] EncodedSeparators_DoNotAffectResolution
      07-05 21:31:15.389 14066 17796 I DOTNET  : 	[PASS] EncodedSeparators_DoNotAffectResolution
      07-05 21:31:16.030 14066 17802 I DOTNET  : 	[PASS] KnownFile_ReturnsExpectedContent
      07-05 21:31:16.722 14066 17808 I DOTNET  : 	[PASS] DotDotSegments_DoNotResolveAboveRoot
      07-05 21:31:17.401 14066 17814 I DOTNET  : 	[PASS] DotDotSegments_DoNotResolveAboveRoot
      07-05 21:31:17.872 14066 17820 I DOTNET  : 	[PASS] DotDotSegments_DoNotResolveAboveRoot
      07-05 21:31:17.872 14066 17820 I DOTNET  : Microsoft.Maui.DeviceTests.HybridWebViewTests_ContentRootResolution 7.9674260 ms
      07-05 21:31:17.872 14066 17820 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.RefreshViewTests
      07-05 21:31:17.997 14066 17826 I DOTNET  : 	[PASS] Setting the content of RefreshView removes previous platform view from visual tree
      07-05 21:31:17.998 14066 17826 I DOTNET  : 	[PASS] IsRefreshEnabled can be set to false
      07-05 21:31:17.999 14066 17826 I DOTNET  : 	[PASS] Setting IsRefreshEnabled to false while refreshing stops refresh
      07-05 21:31:17.999 14066 17826 I DOTNET  : 	[PASS] IsRefreshEnabled defaults to true
      07-05 21:31:17.999 14066 17826 I DOTNET  : 	[PASS] IsEnabled prevents IsRefreshing from being set to true
      07-05 21:31:18.000 14066 17826 I DOTNET  : 	[PASS] Setting IsEnabled to false while refreshing stops refresh
      07-05 21:31:18.000 14066 17826 I DOTNET  : 	[PASS] IsRefreshEnabled prevents IsRefreshing from being set to true
      07-05 21:31:18.000 14066 17826 I DOTNET  : 	[PASS] IsRefreshing can be set to false when IsRefreshEnabled is false
      07-05 21:31:18.000 14066 17826 I DOTNET  : Microsoft.Maui.DeviceTests.RefreshViewTests 0.1256735 ms
      07-05 21:31:18.000 14066 17826 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.FrameTests
      07-05 21:31:18.197 14066 17832 I DOTNET  : 	[PASS] Frame Respects minimum height/width
      07-05 21:31:18.339 14066 17838 I DOTNET  : 	[PASS] FrameIncludesPadding
      07-05 21:31:19.506 14066 17853 I DOTNET  : 	[PASS] FrameContentAccountsForBorderThickness
      07-05 21:31:19.651 14066 17858 I DOTNET  : 	[PASS] Update Frame Content Test
      07-05 21:31:19.655 14066 17858 I DOTNET  : 	[PASS] Frame BorderColor Initializes Correctly
      07-05 21:31:19.727 14066 17863 I DOTNET  : 	[PASS] Frame BorderColor Initializes Correctly
      07-05 21:31:19.735 14066 17863 I DOTNET  : 	[PASS] Frame BorderColor Initializes Correctly
      07-05 21:31:20.194 14066 17869 I DOTNET  : 	[PASS] FrameIncludesBorderThickness
      07-05 21:31:20.319 14066 17875 I DOTNET  : 	[PASS] Frame With Entry Measures
      07-05 21:31:20.464 14066 17881 I DOTNET  : 	[PASS] FrameDoesNotInterpretConstraintsAsMinimums
      07-05 21:31:20.488 14066 17886 I DOTNET  : 	[PASS] Frame BackgroundColor Initializes Correctly
      07-05 21:31:20.512 14066 17891 I DOTNET  : 	[PASS] Frame BackgroundColor Initializes Correctly
      07-05 21:31:20.523 14066 17891 I DOTNET  : 	[PASS] Frame BackgroundColor Initializes Correctly
      07-05 21:31:21.044 14066 17896 I DOTNET  : 	[PASS] Basic Frame Test
      07-05 21:31:21.263 14066 17902 I DOTNET  : 	[PASS] FramesWithinFrames
      07-05 21:31:21.378 14066 17908 I DOTNET  : 	[PASS] FramesWithinFrames
      07-05 21:31:21.495 14066 17914 I DOTNET  : 	[PASS] FramesWithinFrames
      07-05 21:31:21.613 14066 17920 I DOTNET  : 	[PASS] FramesWithinFrames
      07-05 21:31:21.613 14066 17920 I DOTNET  : Microsoft.Maui.DeviceTests.FrameTests 3.4962644 ms
      07-05 21:31:21.613 14066 17920 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.SwipeViewTests
      07-05 21:31:21.738 14066 17925 I DOTNET  : 	[PASS] SwipeItem Size Initializes Correctly
      07-05 21:31:21.750 14066 17931 I DOTNET  : 	[PASS] ScaleXConsistent
      07-05 21:31:21.752 14066 17931 I DOTNET  : 	[PASS] RotationXConsistent
      07-05 21:31:21.755 14066 17931 I DOTNET  : 	[PASS] VerifySwipeViewIsEnabledProperty
      07-05 21:31:21.765 14066 17931 I DOTNET  : 	[PASS] VerifySwipeViewOpacityProperty
      07-05 21:31:21.768 14066 17931 I DOTNET  : 	[PASS] ScaleConsistent
      07-05 21:31:21.770 14066 17931 I DOTNET  : 	[PASS] RotationConsistent
      07-05 21:31:21.772 14066 17931 I DOTNET  : 	[PASS] VerifySwipeViewIsVisibleProperty
      07-05 21:31:21.775 14066 17931 I DOTNET  : 	[PASS] ScaleYConsistent
      07-05 21:31:26.528 14066 17936 I DOTNET  : 	[PASS] Items Do Not Leak
      07-05 21:31:26.531 14066 17936 I DOTNET  : 	[PASS] RotationYConsistent
      07-05 21:31:26.533 14066 17936 I DOTNET  : 	[PASS] SwipeViewTranslationConsistent
      07-05 21:31:26.643 14066 17941 I DOTNET  : 	[PASS] SwipeView LogicalChildren Works Correctly
      07-05 21:31:26.643 14066 17941 I DOTNET  : Microsoft.Maui.DeviceTests.SwipeViewTests 5.0255895 ms
      07-05 21:31:26.643 14066 17941 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.Memory.WindowOverlayTests
      07-05 21:31:28.348 14066 17946 I DOTNET  : 	[PASS] Does Not Leak
      07-05 21:31:28.348 14066 17946 I DOTNET  : Microsoft.Maui.DeviceTests.Memory.WindowOverlayTests 1.7040636 ms
      07-05 21:31:28.348 14066 17946 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.ImageTests
      07-05 21:31:28.351 14066 17946 I DOTNET  : 	[PASS] ScaleXConsistent
      07-05 21:31:28.352 14066 17946 I DOTNET  : 	[PASS] RotationConsistent
      07-05 21:31:28.353 14066 17946 I DOTNET  : 	[PASS] ScaleYConsistent
      07-05 21:31:29.466 14066 17954 I DOTNET  : 	[PASS] ImageSetFromStreamRenders
      07-05 21:31:29.480 14066 17960 I DOTNET  : 	[PASS] RotationYConsistent
      07-05 21:31:29.595 14066 17965 I DOTNET  : 	[PASS] ImageBackgroundColorConsistent
      07-05 21:31:29.633 14066 17970 I DOTNET  : 	[PASS] CachingDisabledForImagesLoadViaInputStreams
      07-05 21:31:29.636 14066 17970 I DOTNET  : 	[PASS] ScaleConsistent
      07-05 21:31:29.767 14066 17975 I DOTNET  : 	[PASS] ImageWithUndefinedSizeAndWithBackgroundSetRenders
      07-05 21:31:29.808 14066 17975 I DOTNET  : 	[PASS] VerifyImageOpacityProperty
      07-05 21:31:29.811 14066 17975 I DOTNET  : 	[PASS] RotationXConsistent
      07-05 21:31:29.811 14066 17975 I DOTNET  : Microsoft.Maui.DeviceTests.ImageTests 1.4552145 ms
      07-05 21:31:29.852 14066 16557 I DOTNET  : Xml file was written to the provided writer.
      07-05 21:31:29.852 14066 16557 I DOTNET  : Tests run: 968 Passed: 954 Inconclusive: 0 Failed: 0 Ignored: 0
�[40m�[32minfo�[39m�[22m�[49m: <<XHARNESS_RESULT_START>>
      {
        "version": 1,
        "machineName": "runnervm5lfqw",
        "exitCode": 0,
        "exitCodeName": "SUCCESS",
        "platform": "android",
        "instrumentationExitCode": 0,
        "device": "emulator-5554",
        "deviceOsVersion": "API 30",
        "architecture": "x86_64",
        "files": [
          {
            "name": "testResults.xml",
            "type": "test-results"
          },
          {
            "name": "adb-logcat-com.microsoft.maui.controls.devicetests-default.log",
            "type": "logcat"
          }
        ]
      }
      <<XHARNESS_RESULT_END>>
�[40m�[32minfo�[39m�[22m�[49m: Attempting to remove apk 'com.microsoft.maui.controls.devicetests'..
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 uninstall com.microsoft.maui.controls.devicetests'
�[40m�[32minfo�[39m�[22m�[49m: Successfully uninstalled com.microsoft.maui.controls.devicetests
XHarness exit code: 0
  Tests completed successfully

🔴 Without fix — 📱 NavigationPageTests (PushingToPageWithoutNavigationBarClearsAppBarInsetPadding): FAIL ✅ · 266s

(truncated to last 15,000 chars)

t.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_1`1.<<CreateHandlerAndAddToWindow>b__1>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_0`1.<<CreateHandlerAndAddToWindow>b__0>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.NavigationPageTests.PushingToPageWithoutNavigationBarClearsAppBarInsetPadding()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    Execution time: 2.8042977
      07-05 21:00:09.154 10468 10582 I DOTNET  :    Test trait name: Category
      07-05 21:00:09.154 10468 10582 I DOTNET  :       value: NavigationPage
      07-05 21:00:09.154 10468 10582 I DOTNET  :       value: NavigationPage
      07-05 21:00:09.154 10468 10582 I DOTNET  : 	[FAIL] NavigationPage push to hidden navigation bar clears app bar inset padding
      07-05 21:00:09.154 10468 10582 I DOTNET  : 	[FAIL] NavigationPage push to hidden navigation bar clears app bar inset padding   Test name: NavigationPage push to hidden navigation bar clears app bar inset padding
      07-05 21:00:09.154 10468 10582 I DOTNET  :    Assembly:  [Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]
      07-05 21:00:09.154 10468 10582 I DOTNET  :    Exception messages: Navigating to a page with the navigation bar hidden did not trigger an inset redispatch that cleared the AppBar top padding.   Exception stack traces:    at Microsoft.Maui.DeviceTests.AssertHelpers.AssertEventually(Func`1 assertion, Int32 timeout, Int32 interval, String message)
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.NavigationPageTests.<>c__DisplayClass2_0.<<PushingToPageWithoutNavigationBarClearsAppBarInsetPadding>b__0>d.MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_1`1.<<CreateHandlerAndAddToWindow>b__1>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_0`1.<<CreateHandlerAndAddToWindow>b__0>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.NavigationPageTests.PushingToPageWithoutNavigationBarClearsAppBarInsetPadding()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    Execution time: 2.8042977
      07-05 21:00:09.154 10468 10582 I DOTNET  :    Test trait name: Category
      07-05 21:00:09.154 10468 10582 I DOTNET  :       value: NavigationPage
      07-05 21:00:09.154 10468 10582 I DOTNET  :       value: NavigationPage
      07-05 21:00:09.154 10468 10582 I DOTNET  : 
      07-05 21:00:09.364 10468 10587 I DOTNET  : 	[PASS] Insert Page Before Root Page and then PopToRoot
      07-05 21:00:09.367 10468 10587 I DOTNET  : 	[IGNORED] Does Not Leak
      07-05 21:00:09.570 10468 10592 I DOTNET  : 	[PASS] PushedPageFiresNavigatedEventOnInitialLoad
      07-05 21:00:10.499 10468 10597 I DOTNET  : 	[PASS] Pushing And Popping Doesnt Fire BackButtonVisible Toolbar Events
      07-05 21:00:10.906 10468 10602 I DOTNET  : 	[PASS] Set Has Back Button
      07-05 21:00:11.179 10468 10607 I DOTNET  : 	[PASS] Set Has Navigation Bar
      07-05 21:00:12.555 10468 10612 I DOTNET  : 	[PASS] Can Reuse Pages
      07-05 21:00:12.556 10468 10612 I DOTNET  : Microsoft.Maui.DeviceTests.NavigationPageTests 17.3182601 ms
      07-05 21:00:12.610 10468 10497 I DOTNET  : Failed tests:
      07-05 21:00:12.614 10468 10497 I DOTNET  : 1) 	[FAIL] NavigationPage push to hidden navigation bar clears app bar inset padding   Test name: NavigationPage push to hidden navigation bar clears app bar inset padding
      07-05 21:00:12.614 10468 10497 I DOTNET  :    Assembly:  [Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]
      07-05 21:00:12.614 10468 10497 I DOTNET  :    Exception messages: Navigating to a page with the navigation bar hidden did not trigger an inset redispatch that cleared the AppBar top padding.   Exception stack traces:    at Microsoft.Maui.DeviceTests.AssertHelpers.AssertEventually(Func`1 assertion, Int32 timeout, Int32 interval, String message)
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.DeviceTests.NavigationPageTests.<>c__DisplayClass2_0.<<PushingToPageWithoutNavigationBarClearsAppBarInsetPadding>b__0>d.MoveNext()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_1`1.<<CreateHandlerAndAddToWindow>b__1>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_0`1.<<CreateHandlerAndAddToWindow>b__0>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.DeviceTests.NavigationPageTests.PushingToPageWithoutNavigationBarClearsAppBarInsetPadding()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    Execution time: 2.8042977
      07-05 21:00:12.614 10468 10497 I DOTNET  :    Test trait name: Category
      07-05 21:00:12.614 10468 10497 I DOTNET  :       value: NavigationPage
      07-05 21:00:12.614 10468 10497 I DOTNET  :       value: NavigationPage
      07-05 21:00:12.614 10468 10497 I DOTNET  : 
      07-05 21:00:12.642 10468 10497 I DOTNET  : Xml file was written to the provided writer.
      07-05 21:00:12.643 10468 10497 I DOTNET  : Tests run: 572 Passed: 20 Inconclusive: 0 Failed: 1 Ignored: 550
�[41m�[30mfail�[39m�[22m�[49m: Non-success instrumentation exit code: 1, expected: 0
�[40m�[32minfo�[39m�[22m�[49m: <<XHARNESS_RESULT_START>>
      {
        "version": 1,
        "machineName": "runnervm5lfqw",
        "exitCode": 1,
        "exitCodeName": "TESTS_FAILED",
        "platform": "android",
        "instrumentationExitCode": 1,
        "device": "emulator-5554",
        "deviceOsVersion": "API 30",
        "architecture": "x86_64",
        "files": [
          {
            "name": "testResults.xml",
            "type": "test-results"
          },
          {
            "name": "adb-logcat-com.microsoft.maui.controls.devicetests-default.log",
            "type": "logcat"
          }
        ]
      }
      <<XHARNESS_RESULT_END>>
�[40m�[32minfo�[39m�[22m�[49m: Attempting to remove apk 'com.microsoft.maui.controls.devicetests'..
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 uninstall com.microsoft.maui.controls.devicetests'
�[40m�[32minfo�[39m�[22m�[49m: Successfully uninstalled com.microsoft.maui.controls.devicetests
XHarness exit code: 1 (TESTS_FAILED)
  Tests completed with exit code: 1

🟢 With fix — 📱 NavigationPageTests (PushingToPageWithoutNavigationBarClearsAppBarInsetPadding): PASS ✅ · 255s

(truncated to last 15,000 chars)

 Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'HybridWebView'): [Memory] Handler Does Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Image'): [Memory] Handler Does Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Label'): [Memory] Handler Does Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Layout'): [Memory] Handler Does Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Lifecycle'): [Memory] Handler Does Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'ListView'): [Memory] Handler Does Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Map'): [Memory] Handler Does Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'MenuFlyout'): [Memory] Handler Does Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Mapper'): [Memory] Handler Does Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Excluded test (filtered by Trait; 'Category':'Memory'): [Memory] Handler Does Not Leak
      07-05 21:35:28.587 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Window'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:35:28.593 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'WindowOverlay'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:35:28.593 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Xaml'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Accessibility'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Application'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Behavior'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Border'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'BoxView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Button'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'CarouselView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'CheckBox'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'CollectionView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Compatibility'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'ContentView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'DatePicker'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Dispatcher'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Editor'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Element'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Entry'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'FlexLayout'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'FlyoutPage'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Frame'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Gesture'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'HybridWebView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Image'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Label'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Layout'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Lifecycle'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'ListView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Map'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'MenuFlyout'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Mapper'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Excluded test (filtered by Trait; 'Category':'Memory'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Modal'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Page'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Path'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Picker'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'RadioButton'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'RefreshView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'ScrollView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'SearchBar'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Shape'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Shell'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Slider'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'SwipeView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'TabbedPage'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'TextInput'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Toolbar'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'TemplatedView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'View'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'VisualElement'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'VisualElementTree'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'WebView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Window'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'WindowOverlay'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Xaml'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.610 18452 18479 I DOTNET  : [Test environment: 64-bit .NET .NET 10.0 [collection-per-class, non-parallel]]
      07-05 21:35:28.610 18452 18479 I DOTNET  : [Test framework: xUnit.net 2.9.0.0]
      07-05 21:35:28.622 18452 18479 I DOTNET  : Serialize test because it has to add itself to the main window
      07-05 21:35:30.170 18452 18491 I DOTNET  : 	[PASS] Swapping Navigation Toggles BackButton Correctly
      07-05 21:35:30.463 18452 18496 I DOTNET  : 	[PASS] InitialPageFiresNavigatedEvent
      07-05 21:35:33.046 18452 18502 I DOTNET  : 	[PASS] Child Pages Do Not Leak
      07-05 21:35:33.231 18452 18507 I DOTNET  : 	[PASS] NavigationBar Removes When MainPage Set To ContentPage
      07-05 21:35:34.177 18452 18512 I DOTNET  : 	[PASS] PoppingNavigationPageDoesntCrash
      07-05 21:35:35.155 18452 18518 I DOTNET  : 	[PASS] StackNavigationManager Clears References On Disconnect (Issue 33918)
      07-05 21:35:36.674 18452 18523 I DOTNET  : 	[PASS] Pushing a Tabbed Page Doesn't Throw Exception
      07-05 21:35:36.898 18452 18528 I DOTNET  : 	[PASS] Insert Page Before RootPage ShowsBackButton
      07-05 21:35:37.469 18452 18533 I DOTNET  : 	[PASS] SettingTitleIconImageSourceDoesntCrash
      07-05 21:35:38.039 18452 18538 I DOTNET  : 	[PASS] Remove Root Page Hides Back Button
      07-05 21:35:38.941 18452 18543 I DOTNET  : 	[PASS] PopLifeCycle
      07-05 21:35:39.838 18452 18550 I DOTNET  : 	[PASS] Back Button Visibility Changes with push/pop
      07-05 21:35:40.553 18452 18556 I DOTNET  : 	[PASS] NavigationPage push to hidden navigation bar clears app bar inset padding
      07-05 21:35:40.795 18452 18561 I DOTNET  : 	[PASS] Insert Page Before Root Page and then PopToRoot
      07-05 21:35:40.798 18452 18561 I DOTNET  : 	[IGNORED] Does Not Leak
      07-05 21:35:41.033 18452 18566 I DOTNET  : 	[PASS] PushedPageFiresNavigatedEventOnInitialLoad
      07-05 21:35:41.903 18452 18571 I DOTNET  : 	[PASS] Pushing And Popping Doesnt Fire BackButtonVisible Toolbar Events
      07-05 21:35:42.393 18452 18576 I DOTNET  : 	[PASS] Set Has Back Button
      07-05 21:35:42.599 18452 18581 I DOTNET  : 	[PASS] Set Has Navigation Bar
      07-05 21:35:43.994 18452 18586 I DOTNET  : 	[PASS] Can Reuse Pages
      07-05 21:35:44.003 18452 18586 I DOTNET  : Microsoft.Maui.DeviceTests.NavigationPageTests 15.2171906 ms
      07-05 21:35:44.011 18452 18586 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.AlertDialogTests
      07-05 21:35:44.039 18452 18592 I DOTNET  : 	[PASS] AlertDialogButtonColorDarkTheme
      07-05 21:35:44.249 18452 18592 I DOTNET  : 	[PASS] AlertDialogButtonColorLightTheme
      07-05 21:35:44.250 18452 18592 I DOTNET  : Microsoft.Maui.DeviceTests.AlertDialogTests 0.2102049 ms
      07-05 21:35:44.348 18452 18479 I DOTNET  : Xml file was written to the provided writer.
      07-05 21:35:44.349 18452 18479 I DOTNET  : Tests run: 572 Passed: 21 Inconclusive: 0 Failed: 0 Ignored: 550
�[40m�[32minfo�[39m�[22m�[49m: <<XHARNESS_RESULT_START>>
      {
        "version": 1,
        "machineName": "runnervm5lfqw",
        "exitCode": 0,
        "exitCodeName": "SUCCESS",
        "platform": "android",
        "instrumentationExitCode": 0,
        "device": "emulator-5554",
        "deviceOsVersion": "API 30",
        "architecture": "x86_64",
        "files": [
          {
            "name": "testResults.xml",
            "type": "test-results"
          },
          {
            "name": "adb-logcat-com.microsoft.maui.controls.devicetests-default.log",
            "type": "logcat"
          }
        ]
      }
      <<XHARNESS_RESULT_END>>
�[40m�[32minfo�[39m�[22m�[49m: Attempting to remove apk 'com.microsoft.maui.controls.devicetests'..
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 uninstall com.microsoft.maui.controls.devicetests'
�[40m�[32minfo�[39m�[22m�[49m: Successfully uninstalled com.microsoft.maui.controls.devicetests
XHarness exit code: 0
  Tests completed successfully

🔴 Without fix — 📱 ShellTests (HiddenShellNavigationBarClearsAppBarInsetPadding): FAIL ✅ · 306s

(truncated to last 15,000 chars)

594 11056 11369 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:04:49.594 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.594 11056 11369 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:04:49.594 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.594 11056 11369 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_0`1.<<CreateHandlerAndAddToWindow>b__0>d[[Microsoft.Maui.Controls.Handlers.Compatibility.ShellRenderer, Microsoft.Maui.Controls, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:04:49.594 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.594 11056 11369 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:04:49.594 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.594 11056 11369 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:04:49.594 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.594 11056 11369 I DOTNET  :    at Microsoft.Maui.DeviceTests.ShellTests.HiddenShellNavigationBarClearsAppBarInsetPadding()
      07-05 21:04:49.594 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.594 11056 11369 I DOTNET  :    Execution time: 2.5715023
      07-05 21:04:49.594 11056 11369 I DOTNET  :    Test trait name: Category
      07-05 21:04:49.594 11056 11369 I DOTNET  :       value: Shell
      07-05 21:04:49.594 11056 11369 I DOTNET  :       value: Shell
      07-05 21:04:49.597 11056 11369 I DOTNET  : 	[FAIL] Hidden Shell navigation bar clears app bar inset padding
      07-05 21:04:49.597 11056 11369 I DOTNET  : 	[FAIL] Hidden Shell navigation bar clears app bar inset padding   Test name: Hidden Shell navigation bar clears app bar inset padding
      07-05 21:04:49.597 11056 11369 I DOTNET  :    Assembly:  [Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]
      07-05 21:04:49.597 11056 11369 I DOTNET  :    Exception messages: Shell.NavBarIsVisible did not trigger an inset redispatch that cleared the AppBar top padding.   Exception stack traces:    at Microsoft.Maui.DeviceTests.AssertHelpers.AssertEventually(Func`1 assertion, Int32 timeout, Int32 interval, String message)
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.DeviceTests.ShellTests.<>c__DisplayClass17_0.<<HiddenShellNavigationBarClearsAppBarInsetPadding>b__0>d.MoveNext()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_1`1.<<CreateHandlerAndAddToWindow>b__1>d[[Microsoft.Maui.Controls.Handlers.Compatibility.ShellRenderer, Microsoft.Maui.Controls, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.Controls.Handlers.Compatibility.ShellRenderer, Microsoft.Maui.Controls, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.Controls.Handlers.Compatibility.ShellRenderer, Microsoft.Maui.Controls, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_0`1.<<CreateHandlerAndAddToWindow>b__0>d[[Microsoft.Maui.Controls.Handlers.Compatibility.ShellRenderer, Microsoft.Maui.Controls, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.DeviceTests.ShellTests.HiddenShellNavigationBarClearsAppBarInsetPadding()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    Execution time: 2.5715023
      07-05 21:04:49.597 11056 11369 I DOTNET  :    Test trait name: Category
      07-05 21:04:49.597 11056 11369 I DOTNET  :       value: Shell
      07-05 21:04:49.597 11056 11369 I DOTNET  :       value: Shell
      07-05 21:04:49.597 11056 11369 I DOTNET  :       value: Shell
      07-05 21:04:49.597 11056 11369 I DOTNET  :       value: Shell
      07-05 21:04:49.597 11056 11369 I DOTNET  :       value: Shell
      07-05 21:04:49.597 11056 11369 I DOTNET  : 
      07-05 21:04:51.795 11056 11378 I DOTNET  : 	[PASS] HideSoftInputOnTapped Doesn't Crash If Entry Is Still Focused After Window Is Null
      07-05 21:04:55.646 11056 11387 I DOTNET  : 	[PASS] Pages Do Not Leak
      07-05 21:04:56.011 11056 11392 I DOTNET  : 	[PASS] FlyoutHeaderRendersCorrectSizeWithFlyoutContentSet
      07-05 21:04:56.469 11056 11397 I DOTNET  : 	[PASS] Shell add then remove items from selected item
      07-05 21:05:00.762 11056 11403 I DOTNET  : 	[PASS] Shell TabBar Foreground Initializes Correctly
      07-05 21:05:05.044 11056 11409 I DOTNET  : 	[PASS] Shell TabBar Foreground Initializes Correctly
      07-05 21:05:06.050 11056 11417 I DOTNET  : 	[PASS] FlyoutHeaderMinimumHeight
      07-05 21:05:06.996 11056 11423 I DOTNET  : 	[PASS] FlyoutHeaderMinimumHeight
      07-05 21:05:07.902 11056 11429 I DOTNET  : 	[PASS] FlyoutHeaderMinimumHeight
      07-05 21:05:08.849 11056 11435 I DOTNET  : 	[PASS] FlyoutHeaderMinimumHeight
      07-05 21:05:09.181 11056 11440 I DOTNET  : 	[PASS] CanHideNavBarShadow
      07-05 21:05:09.512 11056 11445 I DOTNET  : 	[PASS] CanHideNavBarShadow
      07-05 21:05:13.797 11056 11453 I DOTNET  : 	[PASS] Shell TabBar Title Color Initializes Correctly
      07-05 21:05:18.099 11056 11459 I DOTNET  : 	[PASS] Shell TabBar Title Color Initializes Correctly
      07-05 21:05:18.394 11056 11464 I DOTNET  : 	[PASS] FlyoutItems Render When FlyoutBehavior Starts As Locked
      07-05 21:05:19.063 11056 11469 I DOTNET  : 	[PASS] TitleView Updates to Currently Visible Page
      07-05 21:05:19.822 11056 11474 I DOTNET  : 	[PASS] SwappingOutAndroidContextDoesntCrash
      07-05 21:05:21.648 11056 11479 I DOTNET  : 	[PASS] Pushing the Same Page Disconnects Previous Toolbar Items
      07-05 21:05:21.649 11056 11479 I DOTNET  : Microsoft.Maui.DeviceTests.ShellTests 82.7144645 ms
      07-05 21:05:21.711 11056 11077 I DOTNET  : Failed tests:
      07-05 21:05:21.712 11056 11077 I DOTNET  : 1) 	[FAIL] Hidden Shell navigation bar clears app bar inset padding   Test name: Hidden Shell navigation bar clears app bar inset padding
      07-05 21:05:21.712 11056 11077 I DOTNET  :    Assembly:  [Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]
      07-05 21:05:21.712 11056 11077 I DOTNET  :    Exception messages: Shell.NavBarIsVisible did not trigger an inset redispatch that cleared the AppBar top padding.   Exception stack traces:    at Microsoft.Maui.DeviceTests.AssertHelpers.AssertEventually(Func`1 assertion, Int32 timeout, Int32 interval, String message)
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.DeviceTests.ShellTests.<>c__DisplayClass17_0.<<HiddenShellNavigationBarClearsAppBarInsetPadding>b__0>d.MoveNext()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_1`1.<<CreateHandlerAndAddToWindow>b__1>d[[Microsoft.Maui.Controls.Handlers.Compatibility.ShellRenderer, Microsoft.Maui.Controls, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.Controls.Handlers.Compatibility.ShellRenderer, Microsoft.Maui.Controls, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.Controls.Handlers.Compatibility.ShellRenderer, Microsoft.Maui.Controls, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_0`1.<<CreateHandlerAndAddToWindow>b__0>d[[Microsoft.Maui.Controls.Handlers.Compatibility.ShellRenderer, Microsoft.Maui.Controls, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.DeviceTests.ShellTests.HiddenShellNavigationBarClearsAppBarInsetPadding()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    Execution time: 2.5715023
      07-05 21:05:21.712 11056 11077 I DOTNET  :    Test trait name: Category
      07-05 21:05:21.712 11056 11077 I DOTNET  :       value: Shell
      07-05 21:05:21.712 11056 11077 I DOTNET  :       value: Shell
      07-05 21:05:21.712 11056 11077 I DOTNET  :       value: Shell
      07-05 21:05:21.712 11056 11077 I DOTNET  :       value: Shell
      07-05 21:05:21.712 11056 11077 I DOTNET  :       value: Shell
      07-05 21:05:21.712 11056 11077 I DOTNET  : 
      07-05 21:05:21.732 11056 11077 I DOTNET  : Xml file was written to the provided writer.
      07-05 21:05:21.733 11056 11077 I DOTNET  : Tests run: 584 Passed: 69 Inconclusive: 0 Failed: 1 Ignored: 514
�[41m�[30mfail�[39m�[22m�[49m: Non-success instrumentation exit code: 1, expected: 0
�[40m�[32minfo�[39m�[22m�[49m: <<XHARNESS_RESULT_START>>
      {
        "version": 1,
        "machineName": "runnervm5lfqw",
        "exitCode": 1,
        "exitCodeName": "TESTS_FAILED",
        "platform": "android",
        "instrumentationExitCode": 1,
        "device": "emulator-5554",
        "deviceOsVersion": "API 30",
        "architecture": "x86_64",
        "files": [
          {
            "name": "testResults.xml",
            "type": "test-results"
          },
          {
            "name": "adb-logcat-com.microsoft.maui.controls.devicetests-default.log",
            "type": "logcat"
          }
        ]
      }
      <<XHARNESS_RESULT_END>>
�[40m�[32minfo�[39m�[22m�[49m: Attempting to remove apk 'com.microsoft.maui.controls.devicetests'..
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 uninstall com.microsoft.maui.controls.devicetests'
�[40m�[32minfo�[39m�[22m�[49m: Successfully uninstalled com.microsoft.maui.controls.devicetests
XHarness exit code: 1 (TESTS_FAILED)
  Tests completed with exit code: 1

🟢 With fix — 📱 ShellTests (HiddenShellNavigationBarClearsAppBarInsetPadding): PASS ✅ · 301s

(truncated to last 15,000 chars)


      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'RadioButton'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'RefreshView'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'ScrollView'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'SearchBar'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Shape'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Slider'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'SwipeView'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'TabbedPage'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'TextInput'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Toolbar'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'TemplatedView'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'View'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'VisualElement'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'VisualElementTree'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'WebView'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Window'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'WindowOverlay'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Xaml'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Accessibility'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Application'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Behavior'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Border'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'BoxView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Button'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'CarouselView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'CheckBox'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'CollectionView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Compatibility'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'ContentView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'DatePicker'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Dispatcher'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Editor'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Element'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Entry'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'FlexLayout'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'FlyoutPage'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Frame'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.381 18808 18835 I DOTNET  : [Test environment: 64-bit .NET .NET 10.0 [collection-per-class, non-parallel]]
      07-05 21:39:27.381 18808 18835 I DOTNET  : [Test framework: xUnit.net 2.9.0.0]
      07-05 21:39:27.394 18808 18835 I DOTNET  : Serialize test because it has to add itself to the main window
      07-05 21:39:27.822 18808 18845 I DOTNET  : 	[PASS] Can Clear ShellContent
      07-05 21:39:28.695 18808 18851 I DOTNET  : 	[PASS] FlyoutContentUpdatesAfterChange
      07-05 21:39:28.956 18808 18856 I DOTNET  : 	[PASS] Handlers not recreated when changing tabs
      07-05 21:39:29.431 18808 18861 I DOTNET  : 	[PASS] PageLayoutDoesNotExceedWindowBounds
      07-05 21:39:29.607 18808 18866 I DOTNET  : 	[PASS] Ensure Default Colors are White for BottomNavigationView
      07-05 21:39:29.861 18808 18871 I DOTNET  : 	[PASS] FooterTemplate Measures to Set Flyout Width When Flyout Locked
      07-05 21:39:30.752 18808 18879 I DOTNET  : 	[PASS] BasicShellNavigationStructurePermutations
      07-05 21:39:31.323 18808 18884 I DOTNET  : 	[PASS] BasicShellNavigationStructurePermutations
      07-05 21:39:31.899 18808 18912 I DOTNET  : 	[PASS] BasicShellNavigationStructurePermutations
      07-05 21:39:32.385 18808 18931 I DOTNET  : 	[PASS] BasicShellNavigationStructurePermutations
      07-05 21:39:32.714 18808 18936 I DOTNET  : 	[PASS] No crash going back using 'Shell.Current.GoToAsync("..")'
      07-05 21:39:35.041 18808 18954 I DOTNET  : 	[PASS] Can Reuse Pages
      07-05 21:39:36.891 18808 19012 I DOTNET  : 	[PASS] FlyoutCustomContentMargin
      07-05 21:39:38.603 18808 19081 I DOTNET  : 	[PASS] FlyoutCustomContentMargin
      07-05 21:39:40.549 18808 19107 I DOTNET  : 	[PASS] FlyoutCustomContentMargin
      07-05 21:39:41.076 18808 19112 I DOTNET  : 	[PASS] ChangingBottomTabAttributesDoesntRecreateBottomTabs
      07-05 21:39:42.002 18808 19118 I DOTNET  : 	[PASS] FlyoutIsPresented=true sets the visible status of the Shell Flyout.
      07-05 21:39:42.548 18808 19123 I DOTNET  : 	[PASS] ShellContentFragment.Destroy handles null _shellContext gracefully
      07-05 21:39:43.432 18808 19128 I DOTNET  : 	[PASS] Navigation Routes Correctly After Switching Flyout Items
      07-05 21:39:44.502 18808 19134 I DOTNET  : 	[PASS] Navigate to Root with BackButtonBehavior no Crash
      07-05 21:39:48.863 18808 19140 I DOTNET  : 	[PASS] Shell TabBar UnselectedColor Initializes Correctly
      07-05 21:39:53.177 18808 19148 I DOTNET  : 	[PASS] Shell TabBar UnselectedColor Initializes Correctly
      07-05 21:39:53.909 18808 19153 I DOTNET  : 	[PASS] Toolbar Title View Updates
      07-05 21:39:54.097 18808 19158 I DOTNET  : 	[PASS] Shell with Flyout Disabled Doesn't Render Flyout
      07-05 21:39:55.427 18808 19163 I DOTNET  : 	[PASS] Back Button Visibility Changes with push/pop
      07-05 21:39:56.158 18808 19168 I DOTNET  : 	[PASS] ChangingToNewMauiContextDoesntCrash
      07-05 21:39:56.311 18808 19173 I DOTNET  : 	[PASS] FlyoutContent Renderers When FlyoutBehavior Starts As Locked
      07-05 21:39:57.278 18808 19180 I DOTNET  : 	[PASS] Flyout Footer and Default Flyout Items Render
      07-05 21:39:57.513 18808 19185 I DOTNET  : 	[PASS] Toolbar Title
      07-05 21:39:57.905 18808 19191 I DOTNET  : 	[PASS] LogicalChildrenPropagateCorrectly
      07-05 21:39:58.694 18808 19196 I DOTNET  : 	[PASS] Set Has Back Button
      07-05 21:39:59.500 18808 19201 I DOTNET  : 	[PASS] Flyout Header Changes When Updated
      07-05 21:40:00.220 18808 19206 I DOTNET  : 	[PASS] Navigating During Navigated Doesnt ReFire Appearing
      07-05 21:40:01.014 18808 19211 I DOTNET  : 	[PASS] Toolbar Title Updates
      07-05 21:40:01.212 18808 19216 I DOTNET  : 	[PASS] Title View Measures
      07-05 21:40:01.454 18808 19221 I DOTNET  : 	[PASS] Flyout Width Does Not Crash
      07-05 21:40:04.495 18808 19226 I DOTNET  : 	[PASS] PopToRootAsync correctly navigates to root page
      07-05 21:40:08.794 18808 19233 I DOTNET  : 	[PASS] ForegroundColor sets icon and title color sets title
      07-05 21:40:09.408 18808 19238 I DOTNET  : 	[PASS] LifeCycleEvents Fire When Navigating Top Tabs
      07-05 21:40:09.594 18808 19243 I DOTNET  : 	[PASS] Appearing Fires Before NavigatedTo
      07-05 21:40:09.871 18808 19248 I DOTNET  : 	[PASS] Swap Shell Root Page for NavigationPage
      07-05 21:40:10.860 18808 19255 I DOTNET  : 	[PASS] FlyoutItemsRenderWhenFlyoutHeaderIsSet
      07-05 21:40:11.141 18808 19260 I DOTNET  : 	[PASS] AddingBottomTabDoesntRecreateMenu
      07-05 21:40:13.347 18808 19265 I DOTNET  : 	[PASS] Flyout Starts as Open correctly
      07-05 21:40:13.700 18808 19270 I DOTNET  : 	[PASS] FlyoutWithAsMultipleItemsRendersWithoutCrashing
      07-05 21:40:14.413 18808 19275 I DOTNET  : 	[PASS] Correctly Adjust to Making Currently Visible Shell Page Invisible
      07-05 21:40:14.678 18808 19280 I DOTNET  : 	[PASS] Empty Shell
      07-05 21:40:15.116 18808 19285 I DOTNET  : 	[PASS] SearchHandlerRendersCorrectly
      07-05 21:40:15.388 18808 19290 I DOTNET  : 	[PASS] RemovingBottomTabDoesntRecreateMenu
      07-05 21:40:15.849 18808 19295 I DOTNET  : 	[PASS] Hidden Shell navigation bar clears app bar inset padding
      07-05 21:40:18.322 18808 19304 I DOTNET  : 	[PASS] HideSoftInputOnTapped Doesn't Crash If Entry Is Still Focused After Window Is Null
      07-05 21:40:21.400 18808 19312 I DOTNET  : 	[PASS] Pages Do Not Leak
      07-05 21:40:21.694 18808 19317 I DOTNET  : 	[PASS] FlyoutHeaderRendersCorrectSizeWithFlyoutContentSet
      07-05 21:40:22.127 18808 19322 I DOTNET  : 	[PASS] Shell add then remove items from selected item
      07-05 21:40:26.371 18808 19335 I DOTNET  : 	[PASS] Shell TabBar Foreground Initializes Correctly
      07-05 21:40:30.663 18808 19341 I DOTNET  : 	[PASS] Shell TabBar Foreground Initializes Correctly
      07-05 21:40:31.554 18808 19349 I DOTNET  : 	[PASS] FlyoutHeaderMinimumHeight
      07-05 21:40:32.478 18808 19355 I DOTNET  : 	[PASS] FlyoutHeaderMinimumHeight
      07-05 21:40:33.342 18808 19361 I DOTNET  : 	[PASS] FlyoutHeaderMinimumHeight
      07-05 21:40:34.213 18808 19367 I DOTNET  : 	[PASS] FlyoutHeaderMinimumHeight
      07-05 21:40:34.545 18808 19372 I DOTNET  : 	[PASS] CanHideNavBarShadow
      07-05 21:40:34.852 18808 19377 I DOTNET  : 	[PASS] CanHideNavBarShadow
      07-05 21:40:39.128 18808 19383 I DOTNET  : 	[PASS] Shell TabBar Title Color Initializes Correctly
      07-05 21:40:43.394 18808 19391 I DOTNET  : 	[PASS] Shell TabBar Title Color Initializes Correctly
      07-05 21:40:43.694 18808 19396 I DOTNET  : 	[PASS] FlyoutItems Render When FlyoutBehavior Starts As Locked
      07-05 21:40:44.298 18808 19401 I DOTNET  : 	[PASS] TitleView Updates to Currently Visible Page
      07-05 21:40:45.003 18808 19406 I DOTNET  : 	[PASS] SwappingOutAndroidContextDoesntCrash
      07-05 21:40:46.941 18808 19411 I DOTNET  : 	[PASS] Pushing the Same Page Disconnects Previous Toolbar Items
      07-05 21:40:46.944 18808 19411 I DOTNET  : Microsoft.Maui.DeviceTests.ShellTests 78.6911689 ms
      07-05 21:40:46.948 18808 19411 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.AlertDialogTests
      07-05 21:40:47.032 18808 19411 I DOTNET  : 	[PASS] AlertDialogButtonColorDarkTheme
      07-05 21:40:47.071 18808 19411 I DOTNET  : 	[PASS] AlertDialogButtonColorLightTheme
      07-05 21:40:47.072 18808 19411 I DOTNET  : Microsoft.Maui.DeviceTests.AlertDialogTests 0.1220443 ms
      07-05 21:40:47.185 18808 18828 I DOTNET  : Xml file was written to the provided writer.
      07-05 21:40:47.186 18808 18828 I DOTNET  : Tests run: 584 Passed: 70 Inconclusive: 0 Failed: 0 Ignored: 514
�[40m�[32minfo�[39m�[22m�[49m: <<XHARNESS_RESULT_START>>
      {
        "version": 1,
        "machineName": "runnervm5lfqw",
        "exitCode": 0,
        "exitCodeName": "SUCCESS",
        "platform": "android",
        "instrumentationExitCode": 0,
        "device": "emulator-5554",
        "deviceOsVersion": "API 30",
        "architecture": "x86_64",
        "files": [
          {
            "name": "testResults.xml",
            "type": "test-results"
          },
          {
            "name": "adb-logcat-com.microsoft.maui.controls.devicetests-default.log",
            "type": "logcat"
          }
        ]
      }
      <<XHARNESS_RESULT_END>>
�[40m�[32minfo�[39m�[22m�[49m: Attempting to remove apk 'com.microsoft.maui.controls.devicetests'..
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 uninstall com.microsoft.maui.controls.devicetests'
�[40m�[32minfo�[39m�[22m�[49m: Successfully uninstalled com.microsoft.maui.controls.devicetests
XHarness exit code: 0
  Tests completed successfully

🔴 Without fix — 🖥️ Issue34472: FAIL ✅ · 596s
  Determining projects to restore...
  Restored /home/vsts/work/1/s/src/Essentials/src/Essentials.csproj (in 782 ms).
  Restored /home/vsts/work/1/s/src/Graphics/src/Graphics/Graphics.csproj (in 782 ms).
  Restored /home/vsts/work/1/s/src/Core/maps/src/Maps.csproj (in 168 ms).
  Restored /home/vsts/work/1/s/src/Core/src/Core.csproj (in 203 ms).
  Restored /home/vsts/work/1/s/src/Controls/src/Xaml/Controls.Xaml.csproj (in 52 ms).
  Restored /home/vsts/work/1/s/src/Controls/src/Core/Controls.Core.csproj (in 39 ms).
  Restored /home/vsts/work/1/s/src/Controls/src/BindingSourceGen/Controls.BindingSourceGen.csproj (in 51 ms).
  Restored /home/vsts/work/1/s/src/Controls/Maps/src/Controls.Maps.csproj (in 41 ms).
  Restored /home/vsts/work/1/s/src/Controls/Foldable/src/Controls.Foldable.csproj (in 658 ms).
  Restored /home/vsts/work/1/s/src/BlazorWebView/src/Maui/Microsoft.AspNetCore.Components.WebView.Maui.csproj (in 150 ms).
  Restored /home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj (in 1.32 sec).
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Graphics -> /home/vsts/work/1/s/artifacts/bin/Graphics/Debug/net10.0-android36.0/Microsoft.Maui.Graphics.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Essentials -> /home/vsts/work/1/s/artifacts/bin/Essentials/Debug/net10.0-android36.0/Microsoft.Maui.Essentials.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Core -> /home/vsts/work/1/s/artifacts/bin/Core/Debug/net10.0-android36.0/Microsoft.Maui.dll
  Controls.BindingSourceGen -> /home/vsts/work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Maps -> /home/vsts/work/1/s/artifacts/bin/Maps/Debug/net10.0-android36.0/Microsoft.Maui.Maps.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Core -> /home/vsts/work/1/s/artifacts/bin/Controls.Core/Debug/net10.0-android36.0/Microsoft.Maui.Controls.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Foldable -> /home/vsts/work/1/s/artifacts/bin/Controls.Foldable/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Foldable.dll
  Controls.Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.Maps/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Maps.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Xaml -> /home/vsts/work/1/s/artifacts/bin/Controls.Xaml/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Xaml.dll
  Microsoft.AspNetCore.Components.WebView.Maui -> /home/vsts/work/1/s/artifacts/bin/Microsoft.AspNetCore.Components.WebView.Maui/Debug/net10.0-android36.0/Microsoft.AspNetCore.Components.WebView.Maui.dll
  Controls.TestCases.HostApp -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Controls.TestCases.HostApp.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Graphics -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Graphics.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Essentials -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Essentials.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Core -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Maps.dll
  Controls.BindingSourceGen -> /home/vsts/work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Core -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Microsoft.AspNetCore.Components.WebView.Maui -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.AspNetCore.Components.WebView.Maui.dll
  Controls.Xaml -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Xaml.dll
  Controls.Foldable -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Foldable.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Maps.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:06:59.11
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
Starting: Intent { act=android.settings.SETTINGS }
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
  Determining projects to restore...
  Restored /home/vsts/work/1/s/src/Controls/tests/CustomAttributes/Controls.CustomAttributes.csproj (in 1.34 sec).
  Restored /home/vsts/work/1/s/src/TestUtils/src/VisualTestUtils/VisualTestUtils.csproj (in 41 ms).
  Restored /home/vsts/work/1/s/src/TestUtils/src/VisualTestUtils.MagickNet/VisualTestUtils.MagickNet.csproj (in 5.34 sec).
  Restored /home/vsts/work/1/s/src/Controls/tests/TestCases.Android.Tests/Controls.TestCases.Android.Tests.csproj (in 6.92 sec).
  Restored /home/vsts/work/1/s/src/TestUtils/src/UITest.Core/UITest.Core.csproj (in 2 ms).
  Restored /home/vsts/work/1/s/src/TestUtils/src/UITest.Appium/UITest.Appium.csproj (in 3 ms).
  Restored /home/vsts/work/1/s/src/TestUtils/src/UITest.NUnit/UITest.NUnit.csproj (in 398 ms).
  Restored /home/vsts/work/1/s/src/TestUtils/src/UITest.Analyzers/UITest.Analyzers.csproj (in 1.87 sec).
  5 of 13 projects are up-to-date for restore.
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Graphics -> /home/vsts/work/1/s/artifacts/bin/Graphics/Debug/net10.0/Microsoft.Maui.Graphics.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Essentials -> /home/vsts/work/1/s/artifacts/bin/Essentials/Debug/net10.0/Microsoft.Maui.Essentials.dll
  Controls.CustomAttributes -> /home/vsts/work/1/s/artifacts/bin/Controls.CustomAttributes/Debug/net10.0/Controls.CustomAttributes.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Core -> /home/vsts/work/1/s/artifacts/bin/Core/Debug/net10.0/Microsoft.Maui.dll
  Controls.BindingSourceGen -> /home/vsts/work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Core -> /home/vsts/work/1/s/artifacts/bin/Controls.Core/Debug/net10.0/Microsoft.Maui.Controls.dll
  UITest.Core -> /home/vsts/work/1/s/artifacts/bin/UITest.Core/Debug/net10.0/UITest.Core.dll
  UITest.NUnit -> /home/vsts/work/1/s/artifacts/bin/UITest.NUnit/Debug/net10.0/UITest.NUnit.dll
  UITest.Appium -> /home/vsts/work/1/s/artifacts/bin/UITest.Appium/Debug/net10.0/UITest.Appium.dll
  VisualTestUtils -> /home/vsts/work/1/s/artifacts/bin/VisualTestUtils/Debug/netstandard2.0/VisualTestUtils.dll
  VisualTestUtils.MagickNet -> /home/vsts/work/1/s/artifacts/bin/VisualTestUtils.MagickNet/Debug/netstandard2.0/VisualTestUtils.MagickNet.dll
  UITest.Analyzers -> /home/vsts/work/1/s/artifacts/bin/UITest.Analyzers/Debug/netstandard2.0/UITest.Analyzers.dll
  Controls.TestCases.Android.Tests -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.Android.Tests/Debug/net10.0/Controls.TestCases.Android.Tests.dll
Test run for /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.Android.Tests/Debug/net10.0/Controls.TestCases.Android.Tests.dll (.NETCoreApp,Version=v10.0)
VSTest version 18.0.1 (x64)

Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
NUnit Adapter 4.5.0.0: Test execution started
Running selected tests in /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.Android.Tests/Debug/net10.0/Controls.TestCases.Android.Tests.dll
   NUnit3TestExecutor discovered 1 of 1 NUnit test cases using Current Discovery mode, Non-Explicit run
>>>>> 07/05/2026 21:15:09 FixtureSetup for Issue34472(Android)
>>>>> 07/05/2026 21:15:11 SafeAreaEdgesNoneRespectedInNavigationPage Start
>>>>> 07/05/2026 21:15:19 SafeAreaEdgesNoneRespectedInNavigationPage Stop
>>>>> 07/05/2026 21:15:19 Log types: logcat, bugreport, server
  Failed SafeAreaEdgesNoneRespectedInNavigationPage [8 s]
  Error Message:
     ContentBorder Y should be the same whether pushed (69) or set as main page (6).
Assert.That(pushedBorderRect.Y, Is.EqualTo(mainPageBorderRect.Y).Within(5))
  Expected: 6 +/- 5
  But was:  69
  Off by:   -63.0d

  Stack Trace:
     at Microsoft.Maui.TestCases.Tests.Issues.Issue34472.SafeAreaEdgesNoneRespectedInNavigationPage() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue34472.cs:line 37

1)    at Microsoft.Maui.TestCases.Tests.Issues.Issue34472.SafeAreaEdgesNoneRespectedInNavigationPage() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue34472.cs:line 37


NUnit Adapter 4.5.0.0: Test execution complete
[xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v2.8.2+699d445a1a (64-bit .NET 10.0.0)
[xUnit.net 00:00:00.13]   Discovering: Controls.TestCases.Android.Tests
[xUnit.net 00:00:00.61]   Discovered:  Controls.TestCases.Android.Tests
Results File: /home/vsts/work/1/s/CustomAgentLogsTmp/UITests/TestResults/Issue34472.trx

Total tests: 1
     Failed: 1
Test Run Failed.
 Total time: 31.8189 Seconds
>>> TRX_RESULT_FILE: /home/vsts/work/1/s/CustomAgentLogsTmp/UITests/TestResults/Issue34472.trx

🟢 With fix — 🖥️ Issue34472: PASS ✅ · 575s
  Determining projects to restore...
  Restored /home/vsts/work/1/s/src/Graphics/src/Graphics/Graphics.csproj (in 832 ms).
  Restored /home/vsts/work/1/s/src/Essentials/src/Essentials.csproj (in 832 ms).
  Restored /home/vsts/work/1/s/src/Core/maps/src/Maps.csproj (in 157 ms).
  Restored /home/vsts/work/1/s/src/Core/src/Core.csproj (in 191 ms).
  Restored /home/vsts/work/1/s/src/Controls/src/Core/Controls.Core.csproj (in 50 ms).
  Restored /home/vsts/work/1/s/src/Controls/src/Xaml/Controls.Xaml.csproj (in 66 ms).
  Restored /home/vsts/work/1/s/src/Controls/src/BindingSourceGen/Controls.BindingSourceGen.csproj (in 28 ms).
  Restored /home/vsts/work/1/s/src/Controls/Maps/src/Controls.Maps.csproj (in 38 ms).
  3 of 11 projects are up-to-date for restore.
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Graphics -> /home/vsts/work/1/s/artifacts/bin/Graphics/Debug/net10.0-android36.0/Microsoft.Maui.Graphics.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Essentials -> /home/vsts/work/1/s/artifacts/bin/Essentials/Debug/net10.0-android36.0/Microsoft.Maui.Essentials.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Core -> /home/vsts/work/1/s/artifacts/bin/Core/Debug/net10.0-android36.0/Microsoft.Maui.dll
  Controls.BindingSourceGen -> /home/vsts/work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Maps -> /home/vsts/work/1/s/artifacts/bin/Maps/Debug/net10.0-android36.0/Microsoft.Maui.Maps.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Core -> /home/vsts/work/1/s/artifacts/bin/Controls.Core/Debug/net10.0-android36.0/Microsoft.Maui.Controls.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Microsoft.AspNetCore.Components.WebView.Maui -> /home/vsts/work/1/s/artifacts/bin/Microsoft.AspNetCore.Components.WebView.Maui/Debug/net10.0-android36.0/Microsoft.AspNetCore.Components.WebView.Maui.dll
  Controls.Foldable -> /home/vsts/work/1/s/artifacts/bin/Controls.Foldable/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Foldable.dll
  Controls.Xaml -> /home/vsts/work/1/s/artifacts/bin/Controls.Xaml/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Xaml.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.Maps/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Maps.dll
  Controls.TestCases.HostApp -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Controls.TestCases.HostApp.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Graphics -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Graphics.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Essentials -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Essentials.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Core -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.dll
  Controls.BindingSourceGen -> /home/vsts/work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Maps.dll
  Controls.Core -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Maps.dll
  Microsoft.AspNetCore.Components.WebView.Maui -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.AspNetCore.Components.WebView.Maui.dll
  Controls.Foldable -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Foldable.dll
  Controls.Xaml -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Xaml.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:07:09.00
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
Starting: Intent { act=android.settings.SETTINGS }
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
  Determining projects to restore...
  All projects are up-to-date for restore.
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Graphics -> /home/vsts/work/1/s/artifacts/bin/Graphics/Debug/net10.0/Microsoft.Maui.Graphics.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Essentials -> /home/vsts/work/1/s/artifacts/bin/Essentials/Debug/net10.0/Microsoft.Maui.Essentials.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Core -> /home/vsts/work/1/s/artifacts/bin/Core/Debug/net10.0/Microsoft.Maui.dll
  Controls.CustomAttributes -> /home/vsts/work/1/s/artifacts/bin/Controls.CustomAttributes/Debug/net10.0/Controls.CustomAttributes.dll
  Controls.BindingSourceGen -> /home/vsts/work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Core -> /home/vsts/work/1/s/artifacts/bin/Controls.Core/Debug/net10.0/Microsoft.Maui.Controls.dll
  VisualTestUtils -> /home/vsts/work/1/s/artifacts/bin/VisualTestUtils/Debug/netstandard2.0/VisualTestUtils.dll
  UITest.Core -> /home/vsts/work/1/s/artifacts/bin/UITest.Core/Debug/net10.0/UITest.Core.dll
  VisualTestUtils.MagickNet -> /home/vsts/work/1/s/artifacts/bin/VisualTestUtils.MagickNet/Debug/netstandard2.0/VisualTestUtils.MagickNet.dll
  UITest.NUnit -> /home/vsts/work/1/s/artifacts/bin/UITest.NUnit/Debug/net10.0/UITest.NUnit.dll
  UITest.Appium -> /home/vsts/work/1/s/artifacts/bin/UITest.Appium/Debug/net10.0/UITest.Appium.dll
  UITest.Analyzers -> /home/vsts/work/1/s/artifacts/bin/UITest.Analyzers/Debug/netstandard2.0/UITest.Analyzers.dll
  Controls.TestCases.Android.Tests -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.Android.Tests/Debug/net10.0/Controls.TestCases.Android.Tests.dll
Test run for /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.Android.Tests/Debug/net10.0/Controls.TestCases.Android.Tests.dll (.NETCoreApp,Version=v10.0)
VSTest version 18.0.1 (x64)

Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
NUnit Adapter 4.5.0.0: Test execution started
Running selected tests in /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.Android.Tests/Debug/net10.0/Controls.TestCases.Android.Tests.dll
   NUnit3TestExecutor discovered 1 of 1 NUnit test cases using Current Discovery mode, Non-Explicit run
>>>>> 07/05/2026 21:50:14 FixtureSetup for Issue34472(Android)
>>>>> 07/05/2026 21:50:16 SafeAreaEdgesNoneRespectedInNavigationPage Start
>>>>> 07/05/2026 21:50:23 SafeAreaEdgesNoneRespectedInNavigationPage Stop
  Passed SafeAreaEdgesNoneRespectedInNavigationPage [6 s]
NUnit Adapter 4.5.0.0: Test execution complete
[xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v2.8.2+699d445a1a (64-bit .NET 10.0.0)
[xUnit.net 00:00:00.15]   Discovering: Controls.TestCases.Android.Tests
[xUnit.net 00:00:00.59]   Discovered:  Controls.TestCases.Android.Tests
Results File: /home/vsts/work/1/s/CustomAgentLogsTmp/UITests/TestResults/Issue34472.trx

Test Run Successful.
Total tests: 1
     Passed: 1
 Total time: 22.0040 Seconds
>>> TRX_RESULT_FILE: /home/vsts/work/1/s/CustomAgentLogsTmp/UITests/TestResults/Issue34472.trx

📁 Fix files reverted (1 files)
  • src/Controls/src/Core/Platform/Android/Extensions/ToolbarExtensions.cs

📱 UI Tests — SafeAreaEdges,Shell

Detected UI test categories: SafeAreaEdges,Shell

✅ Deep UI tests — 368 passed, 0 failed across 2 categories on platform-pool agent (replaces in-process counts above).

🧪 UI Test Execution Results (deep, platform pool)

Category Tests Snapshot diffs
SafeAreaEdges 61/61 ✓ —
Shell 307/307 ✓ —
📎 Download drop-deep-uitests artifact (TRX + snapshot diffs)

📋 Pre-Flight — Context & Validation

Issue: #35103 - wrong statusbar height when Android device has a notch; #34472 - [Android] Top SafeAreaEdge isn't respected when the page is pushed to a NavigationPage
PR: #36072 - [Android] Fix blank gap when HasNavigationBar=false with SafeAreaEdges=None
Platforms Affected: Android
Files Changed: 1 implementation, 8 test

Key Findings

  • The linked issues describe Android-only safe-area/top-inset behavior: hidden Shell or NavigationPage navigation bars can leave a blank gap near the status bar/cutout, especially on notched devices or pushed NavigationPage pages using SafeAreaEdges=None.
  • PR #36072 fixes the gap by clearing the parent AppBarLayout padding inside ToolbarExtensions.UpdateIsVisible when toolbar.IsVisible is false, and adds NavigationPage, Shell, UI issue, and Android snapshot coverage.
  • Prior inline review comments flagged test flakiness risks: both new device tests attach/use toolbar/root/appbar objects before all null/readiness checks.
  • Code review found the implementation fix may over-clear parent AppBarLayout padding and fail to restore it on hide-to-show or Shell top-tab scenarios because the request is dispatched to the MaterialToolbar, not the root/appbar path.

Code Review Summary

Verdict: NEEDS_CHANGES
Confidence: low
Errors: 1 | Warnings: 0 | Suggestions: 0

Key code review findings:

  • ✗ src/Controls/src/Core/Platform/Android/Extensions/ToolbarExtensions.cs:51 — Clearing the parent AppBarLayout padding whenever the toolbar is hidden can leave visible app-bar content without a top inset; the following RequestApplyInsets(nativeToolbar) hits the MaterialToolbar branch and does not restore parent app-bar padding.

Fix Candidates

# Source Approach Test Result Files Changed Notes
PR PR #36072 Clear stale parent AppBarLayout padding in ToolbarExtensions.UpdateIsVisible when the toolbar is hidden. ✅ PASSED (Gate) ToolbarExtensions.cs + tests Original PR; gate result supplied by caller.

🔬 Code Review — Deep Analysis

Code Review — PR #36072

Independent Assessment

What this changes: Android toolbar visibility now clears the parent AppBarLayout padding when the toolbar is hidden, plus adds Android device/UI regression tests.
Inferred motivation: Prevent stale top inset padding from leaving a blank gap when HasNavigationBar=false.

Reconciliation with PR Narrative

Author claims: Clearing AppBarLayout padding lets the app bar collapse and later RequestApplyInsets restores padding when shown.
Agreement/disagreement: The collapse fix is plausible for the hidden single-toolbar case. I disagree that the re-show/other-content path is safe.

Prior Review Reconciliation

No prior ❌ Error findings found.

Blast Radius Assessment

  • Runs for all instances: Yes — every Android MAUI toolbar visibility update.
  • Startup impact: No.
  • Static/shared state: No.

CI Status

  • Required-check result: gh pr checks --required unavailable due missing auth; public fallback shows maui-pr pass, but maui-pr-uitests, maui-pr-devicetests, and Build Analysis failing.
  • Classification: undetermined; Android device tests passed, failures appear broad/non-local, but not fully classified.
  • Action taken: invoked azdo-build-investigator; confidence capped low.

Findings

❌ Error — Clearing AppBar padding can leave visible app-bar content without top inset

src/Controls/src/Core/Platform/Android/Extensions/ToolbarExtensions.cs:51

This clears the whole parent AppBarLayout whenever the toolbar is hidden, but the only following inset request is on nativeToolbar (RequestApplyInsets(nativeToolbar)). MauiWindowInsetListener restores AppBarLayout padding only when invoked on the root/app-bar path; when invoked for MaterialToolbar, it takes the early toolbar branch and does not update the parent app bar.

That means after hiding then showing the navigation bar again, the visible toolbar can remain with AppBarLayout.PaddingTop == 0 until some external root inset dispatch happens. It also risks Shell top-tab scenarios where the toolbar is hidden but the TabLayout remains visible in the same AppBarLayout; clearing parent padding can place those tabs under the status/cutout area.

Please either redispatch insets on the root/app bar at the right time, or only clear the padding when the app bar truly has no other visible/measured content, and add coverage for hide→show and Shell multi-top-tab cases.

Failure-Mode Probing

  • Hide then re-show navbar: padding cleared on hide; toolbar-level inset request does not restore parent app-bar padding.
  • Shell with multiple top tabs and hidden nav bar: TabLayout visibility is independent of toolbar visibility, so clearing parent padding can affect still-visible app-bar content.
  • Single hidden NavigationPage toolbar: the intended gap fix appears valid.

Verdict: NEEDS_CHANGES

Confidence: low
Summary: The fix addresses the reported hidden-toolbar gap, but it introduces a likely Android app-bar inset regression for re-show and Shell top-tab scenarios. CI is also not clean/fully classifiable from available authenticated tooling.


🛠️ Fix — Analysis & Comparison

Fix Candidates

# Source Approach Test Result Files Changed Notes
1 try-fix-1 Move AppBar stale-padding/content detection into MauiWindowInsetListener; request inset recalculation from the containing CoordinatorLayout instead of clearing parent AppBar padding in ToolbarExtensions. ✅ PASS 2 files Passed targeted Android NavigationPage and Shell Controls device-test categories. Demonstrably better than PR fix because AppBar padding ownership stays in the inset listener and avoids over-clearing when other AppBar content remains visible or when the nav bar is shown again.
PR PR #36072 Clear parent AppBarLayout padding directly from ToolbarExtensions.UpdateIsVisible when the toolbar is hidden. ✅ PASSED (Gate) 1 implementation file + tests Original PR; gate result supplied by caller. Code review found hide→show and Shell top-tab/other-AppBar-content risk.

Cross-Pollination

Model Round New Ideas? Details
gpt-5.5 / maui-expert-reviewer 1 Yes Candidate 1: base AppBar inset consumption on effective visible AppBar children instead of stale parent MeasuredHeight, and redispatch insets through the root CoordinatorLayout.
Remaining models 1 Not run Stopped early because Candidate 1 passed all targeted regression tests and is demonstrably better than the PR's current padding-clearing fix.

Exhausted: No
Selected Fix: Candidate #1 — It passed targeted Android NavigationPage and Shell device tests and addresses the code-review failure mode by fixing the root AppBar content heuristic rather than clearing parent padding from toolbar visibility updates.


📝 Recommended PR Title & Description

Assessment: ✏️ Recommend updating — the current title/description accurately describe the raw PR fix, but the winning fix moves the change to root AppBar inset detection/redispatch rather than clearing AppBarLayout padding in ToolbarExtensions.

Recommended title

[Android] SafeArea: Fix hidden navigation bar AppBar inset handling

Recommended description

### Root Cause
When `NavigationPage.HasNavigationBar` is set to `false`, `ToolbarExtensions.UpdateIsVisible` collapses the toolbar height to `0`. However, the `AppBarLayout` parent can retain stale top padding from a previous inset dispatch — for example, `159px` from the status bar/cutout.

Even with toolbar height `0`, `AppBarLayout.MeasuredHeight` can remain non-zero because it is driven by padding alone. `MauiWindowInsetListener` used `MeasuredHeight > 0` to determine whether the AppBar had content. Since it treated padding-only height as content, it consumed the top system inset and the inset never reached `SafeAreaExtensions` downstream.

The result was a blank gap at the top of the screen equal to the status bar height — visible on both `NavigationPage` (when a page is pushed with the nav bar hidden) and `Shell` (when the navigation bar is hidden at runtime).

### Description of Change
Updates Android AppBar inset handling so stale padding-only height is not treated as visible AppBar content.

The fix keeps AppBar padding ownership inside `MauiWindowInsetListener`:

* `MauiWindowInsetListener` now determines AppBar content from visible, non-zero-height AppBar children instead of parent `AppBarLayout.MeasuredHeight`, so a collapsed toolbar with only stale padding no longer consumes the top inset.
* `ToolbarExtensions.UpdateIsVisible` requests inset recalculation from the containing `CoordinatorLayout` when available, falling back to the toolbar, so hide/show transitions run through the root inset path that owns AppBar padding.

This allows `SafeAreaEdges=None` to be fully respected with no blank gap while preserving top inset padding when other AppBar content remains visible.

Two new device tests pin the fix for both affected paths:

* `PushingToPageWithoutNavigationBarClearsAppBarInsetPadding` for the `NavigationPage` scenario
* `HiddenShellNavigationBarClearsAppBarInsetPadding` for the `Shell` scenario

The HostApp/UI regression test for issue #34472 verifies that content starts at the same Y position whether the page is pushed onto a `NavigationPage` stack or set as the main page.

These tests were adopted from open contributor PR #35555.

### Issues Fixed
Fixes #35103
Fixes #34472

Tested the behaviour in the following platforms
- [x] Android
- [ ] Windows
- [ ] iOS
- [ ] Mac

### Screenshots
| Before Issue Fix | After Issue Fix |
|------------------|-----------------|
| <video width="350" alt="withoutfix" src="https://github.com/user-attachments/assets/ce6064b7-6a8e-47af-a2c7-3259f71af379" /> | <video width="350" alt="withfix" src="https://github.com/user-attachments/assets/67c5821b-8057-4048-9e05-e0c508f67ae5" /> |

🏁 Report — Final Recommendation

Comparative Analysis — PR #36072

Candidates

Rank Candidate Regression tests Review result Assessment
1 try-fix-1 ✅ Passed targeted Android NavigationPage and Shell device-test categories ✅ Self-review had 0 findings Best root-cause fix. It ignores stale padding-only AppBar height in MauiWindowInsetListener and requests inset recalculation through the root CoordinatorLayout, so AppBar padding remains owned by the inset listener.
2 pr-plus-reviewer ✅ Inherits the same targeted-test evidence as the applied reviewer-feedback shape ✅ Addresses expert reviewer finding Conceptually equivalent to try-fix-1, but exists as a review-derived sandbox candidate rather than the independently tested STEP 5a candidate.
3 pr ✅ Supplied gate passed ❌ Expert reviewer found 1 major issue Fixes the reproduced blank-gap scenario, but unconditionally clears parent AppBarLayout padding from toolbar visibility updates and can regress Shell top-tab/other-AppBar-content cases.

Winning candidate

Winner: try-fix-1

try-fix-1 is the strongest candidate because it passed the targeted Android NavigationPage and Shell regression categories and fixes the actual AppBar content heuristic instead of clearing parent padding from ToolbarExtensions. The raw PR fix passed the gate, but the expert reviewer confirmed a major failure mode where visible AppBar content can lose top inset padding. pr-plus-reviewer addresses the same issue, but it is effectively the reviewer-applied form of try-fix-1; the independently tested try-fix candidate is the safer selection.

Rationale

Candidates that passed regression tests are ranked above any failing candidates. All known candidates passed their supplied or targeted regression checks, so the deciding factor is correctness under broader Android AppBar/Shell failure modes. The direct PR fix is too narrow because it mutates parent AppBar padding from a toolbar visibility mapper. The winning fix keeps padding decisions centralized in MauiWindowInsetListener, where AppBar content and inset consumption are already coordinated.


🧭 Next Steps — alternative fix proposed (try-fix-1)

Automated review — alternative fix proposed

The expert-reviewer evaluation compared the PR fix against automatically generated candidates and selected try-fix-1 as the strongest fix.

Why: try-fix-1 passed the targeted Android NavigationPage and Shell regression tests and fixes the root AppBar inset heuristic instead of clearing parent AppBar padding from ToolbarExtensions. The PR fix passed the supplied gate but retains a major Shell/AppBar-content regression risk confirmed by the expert reviewer.

Please consider applying the candidate diff below (or use it as guidance). Once you push an update, this workflow will re-trigger and re-evaluate.

Candidate diff (try-fix-1)
diff --git a/src/Controls/src/Core/Platform/Android/Extensions/ToolbarExtensions.cs b/src/Controls/src/Core/Platform/Android/Extensions/ToolbarExtensions.cs
index 4e8633b3a1..304f2710f9 100644
--- a/src/Controls/src/Core/Platform/Android/Extensions/ToolbarExtensions.cs
+++ b/src/Controls/src/Core/Platform/Android/Extensions/ToolbarExtensions.cs
@@ -11,6 +11,7 @@ using Android.Text.Style;
 using Android.Views;
 using AndroidX.AppCompat.Graphics.Drawable;
 using AndroidX.AppCompat.Widget;
+using AndroidX.CoordinatorLayout.Widget;
 using AndroidX.Core.View;
 using AndroidX.Core.View.Accessibility;
 using Microsoft.Maui.Graphics;
@@ -54,7 +55,8 @@ namespace Microsoft.Maui.Controls.Platform
 			}
 
 			nativeToolbar.LayoutParameters = lp;
-			AndroidX.Core.View.ViewCompat.RequestApplyInsets(nativeToolbar);
+			var rootLayout = ((AView)nativeToolbar).GetParentOfType<CoordinatorLayout>();
+			AndroidX.Core.View.ViewCompat.RequestApplyInsets(rootLayout is not null ? rootLayout : nativeToolbar);
 		}
 
 		public static void UpdateTitleIcon(this AToolbar nativeToolbar, Toolbar toolbar)
diff --git a/src/Core/src/Platform/Android/MauiWindowInsetListener.cs b/src/Core/src/Platform/Android/MauiWindowInsetListener.cs
index 943a1330cf..07a636ac09 100644
--- a/src/Core/src/Platform/Android/MauiWindowInsetListener.cs
+++ b/src/Core/src/Platform/Android/MauiWindowInsetListener.cs
@@ -237,20 +237,8 @@ namespace Microsoft.Maui.Platform
 				}
 			}
 
-			// Check if AppBarLayout has meaningful content
-			bool appBarHasContent = appBarLayout?.MeasuredHeight > 0;
-			if (!appBarHasContent && appBarLayout is not null)
-			{
-				for (int i = 0; i < appBarLayout.ChildCount; i++)
-				{
-					var child = appBarLayout.GetChildAt(i);
-					if (child?.MeasuredHeight > 0)
-					{
-						appBarHasContent = true;
-						break;
-					}
-				}
-			}
+			// Check if AppBarLayout has meaningful content, ignoring stale padding-only height.
+			bool appBarHasContent = appBarLayout is not null && HasVisibleAppBarContent(appBarLayout);
 
 			// Apply padding to AppBarLayout based on content and system insets
 			if (appBarLayout is not null)
@@ -308,6 +296,24 @@ namespace Microsoft.Maui.Platform
 				?.Build() ?? insets;
 		}
 
+		static bool HasVisibleAppBarContent(AppBarLayout appBarLayout)
+		{
+			for (int i = 0; i < appBarLayout.ChildCount; i++)
+			{
+				var child = appBarLayout.GetChildAt(i);
+				if (child is null || child.Visibility != ViewStates.Visible)
+					continue;
+
+				if (child.LayoutParameters?.Height == 0)
+					continue;
+
+				if (child.MeasuredHeight > 0 || child.Height > 0)
+					return true;
+			}
+
+			return false;
+		}
+
 		public void TrackView(AView view)
 		{
 			_trackedViews.Add(view);

@MauiBot MauiBot removed the s/agent-review-in-progress AI review is currently running for this PR label Jul 5, 2026
@kubaflo
kubaflo changed the base branch from main to inflight/current July 6, 2026 10:30

@kubaflo kubaflo left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you please resolve conflicts?

@github-actions

github-actions Bot commented Jul 8, 2026 •

Copy link
Copy Markdown
Contributor

Skill Validation Results

@praveenkumarkarunanithi — new skill validation results are available based on this last commit: 172682b.
To request a fresh validation after new comments or commits, comment /evaluate-skills.

Overall Passed Static Passed LLM Skipped Skills 20 Agents 6

✅ Skill Validation Results — 172682b · [Android] Fix blank gap when HasNavigationBar=false with SafeAreaEdges=None · 2026-07-08T06:40:46Z

✅ Static Checks Passed

Skills: 20 | Eval specs linted: 7

Full lint output
── .github/skills/agentic-labeler/tests/eval.vally.yaml
npm warn deprecated prebuild-install@7.1.3: No longer maintained. Please contact the author of the relevant native addon; alternatives are available.
✔ .github/skills/agentic-labeler/tests/eval.vally.yaml is valid
── .github/skills/code-review/tests/eval.capability.vally.yaml
✔ .github/skills/code-review/tests/eval.capability.vally.yaml is valid
── .github/skills/code-review/tests/eval.vally.yaml
✔ .github/skills/code-review/tests/eval.vally.yaml is valid
── .github/skills/code-review/tests/hermeticity.vally.yaml
✔ .github/skills/code-review/tests/hermeticity.vally.yaml is valid
── .github/skills/evaluate-pr-tests/tests/eval.vally.yaml
✔ .github/skills/evaluate-pr-tests/tests/eval.vally.yaml is valid
── .github/skills/try-fix/tests/eval.vally.yaml
✔ .github/skills/try-fix/tests/eval.vally.yaml is valid
── .github/skills/verify-tests-fail-without-fix/tests/eval.vally.yaml
✔ .github/skills/verify-tests-fail-without-fix/tests/eval.vally.yaml is valid

⏭️ LLM Evaluation: Skipped

No changed skills with eval specs found.

🔍 Full results and investigation steps

@praveenkumarkarunanithi

Copy link
Copy Markdown
Contributor Author

AI Review Summary

@praveenkumarkarunanithi — new AI review results are available based on this last commit: 15124a4. To request a fresh review after new comments or commits, comment /review rerun.

Gate Passed Confidence Low Platform Android

🗂️ Review Sessions — click to expand

🚦 Gate — Test Before & After Fix

Gate Result: ✅ PASSED

Platform: ANDROID · Base: main · Merge base: 89a4e02d

Test Without Fix (expect FAIL) With Fix (expect PASS)
📱 ControlsHandlerTestBase ControlsHandlerTestBase ✅ FAIL — 2142s ✅ PASS — 968s
📱 NavigationPageTests (PushingToPageWithoutNavigationBarClearsAppBarInsetPadding) Category=NavigationPage ✅ FAIL — 266s ✅ PASS — 255s
📱 ShellTests (HiddenShellNavigationBarClearsAppBarInsetPadding) Category=Shell ✅ FAIL — 306s ✅ PASS — 301s
🖥️ Issue34472 Issue34472 ✅ FAIL — 596s ✅ PASS — 575s
🔴 Without fix — 📱 ControlsHandlerTestBase: FAIL ✅ · 2142s
(truncated to last 15,000 chars)

  [121/133] System.Threading.Thread.dll -> System.Threading.Thread.dll.so
  [122/133] System.Text.Json.dll -> System.Text.Json.dll.so
  [123/133] System.Threading.ThreadPool.dll -> System.Threading.ThreadPool.dll.so
  [39/133] Xamarin.AndroidX.CursorAdapter.dll -> Xamarin.AndroidX.CursorAdapter.dll.so
  [124/133] System.Threading.dll -> System.Threading.dll.so
  [125/133] System.Xml.Linq.dll -> System.Xml.Linq.dll.so
  [126/133] System.Xml.ReaderWriter.dll -> System.Xml.ReaderWriter.dll.so
  [40/133] Xamarin.AndroidX.CustomView.dll -> Xamarin.AndroidX.CustomView.dll.so
  [127/133] System.dll -> System.dll.so
  [128/133] System.Xml.XDocument.dll -> System.Xml.XDocument.dll.so
  [41/133] Xamarin.AndroidX.DrawerLayout.dll -> Xamarin.AndroidX.DrawerLayout.dll.so
  [129/133] netstandard.dll -> netstandard.dll.so
  [130/133] Mono.Android.Runtime.dll -> Mono.Android.Runtime.dll.so
  [42/133] Xamarin.AndroidX.Fragment.dll -> Xamarin.AndroidX.Fragment.dll.so
  [131/133] Java.Interop.dll -> Java.Interop.dll.so
  [43/133] Xamarin.AndroidX.Lifecycle.Common.Jvm.dll -> Xamarin.AndroidX.Lifecycle.Common.Jvm.dll.so
  [44/133] Xamarin.AndroidX.Lifecycle.LiveData.Core.dll -> Xamarin.AndroidX.Lifecycle.LiveData.Core.dll.so
  [45/133] Xamarin.AndroidX.Lifecycle.ViewModel.Android.dll -> Xamarin.AndroidX.Lifecycle.ViewModel.Android.dll.so
  [46/133] Xamarin.AndroidX.Lifecycle.ViewModelSavedState.Android.dll -> Xamarin.AndroidX.Lifecycle.ViewModelSavedState.Android.dll.so
  [47/133] Xamarin.AndroidX.Loader.dll -> Xamarin.AndroidX.Loader.dll.so
  [48/133] Xamarin.AndroidX.Navigation.Common.Android.dll -> Xamarin.AndroidX.Navigation.Common.Android.dll.so
  [132/133] Mono.Android.dll -> Mono.Android.dll.so
  [49/133] Xamarin.AndroidX.Navigation.Fragment.dll -> Xamarin.AndroidX.Navigation.Fragment.dll.so
  [50/133] Xamarin.AndroidX.Navigation.Runtime.Android.dll -> Xamarin.AndroidX.Navigation.Runtime.Android.dll.so
  [51/133] Xamarin.AndroidX.Navigation.UI.dll -> Xamarin.AndroidX.Navigation.UI.dll.so
  [52/133] Xamarin.AndroidX.RecyclerView.dll -> Xamarin.AndroidX.RecyclerView.dll.so
  [53/133] Xamarin.AndroidX.SavedState.SavedState.Android.dll -> Xamarin.AndroidX.SavedState.SavedState.Android.dll.so
  [54/133] Xamarin.AndroidX.SwipeRefreshLayout.dll -> Xamarin.AndroidX.SwipeRefreshLayout.dll.so
  [55/133] Xamarin.AndroidX.ViewPager.dll -> Xamarin.AndroidX.ViewPager.dll.so
  [56/133] Xamarin.AndroidX.ViewPager2.dll -> Xamarin.AndroidX.ViewPager2.dll.so
  [57/133] Xamarin.Google.Android.Material.dll -> Xamarin.Google.Android.Material.dll.so
  [58/133] Xamarin.GooglePlayServices.Base.dll -> Xamarin.GooglePlayServices.Base.dll.so
  [59/133] Xamarin.GooglePlayServices.Basement.dll -> Xamarin.GooglePlayServices.Basement.dll.so
  [60/133] Xamarin.GooglePlayServices.Maps.dll -> Xamarin.GooglePlayServices.Maps.dll.so
  [61/133] Xamarin.GooglePlayServices.Tasks.dll -> Xamarin.GooglePlayServices.Tasks.dll.so
  [62/133] Xamarin.Kotlin.StdLib.dll -> Xamarin.Kotlin.StdLib.dll.so
  [63/133] Xamarin.KotlinX.Coroutines.Core.Jvm.dll -> Xamarin.KotlinX.Coroutines.Core.Jvm.dll.so
  [64/133] Xamarin.KotlinX.Serialization.Core.Jvm.dll -> Xamarin.KotlinX.Serialization.Core.Jvm.dll.so
  [133/133] System.Private.CoreLib.dll -> System.Private.CoreLib.dll.so
  [65/133] xunit.abstractions.dll -> xunit.abstractions.dll.so
  [66/133] xunit.assert.dll -> xunit.assert.dll.so
  [67/133] xunit.core.dll -> xunit.core.dll.so
  [68/133] xunit.execution.dotnet.dll -> xunit.execution.dotnet.dll.so
  [69/133] xunit.runner.utility.netcoreapp10.dll -> xunit.runner.utility.netcoreapp10.dll.so
  [70/133] System.Collections.Concurrent.dll -> System.Collections.Concurrent.dll.so
  [71/133] System.Collections.Immutable.dll -> System.Collections.Immutable.dll.so
  [72/133] System.Collections.NonGeneric.dll -> System.Collections.NonGeneric.dll.so
  [73/133] System.Collections.Specialized.dll -> System.Collections.Specialized.dll.so
  [74/133] System.Collections.dll -> System.Collections.dll.so
  [75/133] System.ComponentModel.Primitives.dll -> System.ComponentModel.Primitives.dll.so
  [76/133] System.ComponentModel.TypeConverter.dll -> System.ComponentModel.TypeConverter.dll.so
  [77/133] System.ComponentModel.dll -> System.ComponentModel.dll.so
  [78/133] System.Console.dll -> System.Console.dll.so
  [79/133] System.Diagnostics.Debug.dll -> System.Diagnostics.Debug.dll.so
  [80/133] System.Diagnostics.DiagnosticSource.dll -> System.Diagnostics.DiagnosticSource.dll.so
  [81/133] System.Diagnostics.Process.dll -> System.Diagnostics.Process.dll.so
  [82/133] System.Diagnostics.Tools.dll -> System.Diagnostics.Tools.dll.so
  [83/133] System.Diagnostics.TraceSource.dll -> System.Diagnostics.TraceSource.dll.so
  [84/133] System.Diagnostics.Tracing.dll -> System.Diagnostics.Tracing.dll.so
  [85/133] System.Drawing.Primitives.dll -> System.Drawing.Primitives.dll.so
  [86/133] System.Drawing.dll -> System.Drawing.dll.so
  [87/133] System.Formats.Asn1.dll -> System.Formats.Asn1.dll.so
  [88/133] System.Globalization.dll -> System.Globalization.dll.so
  [89/133] System.IO.Compression.Brotli.dll -> System.IO.Compression.Brotli.dll.so
  [90/133] System.IO.Compression.dll -> System.IO.Compression.dll.so
  [91/133] System.IO.FileSystem.dll -> System.IO.FileSystem.dll.so
  [92/133] System.IO.Pipelines.dll -> System.IO.Pipelines.dll.so
  [93/133] System.IO.dll -> System.IO.dll.so
  [94/133] System.Linq.Expressions.dll -> System.Linq.Expressions.dll.so
  [95/133] System.Linq.dll -> System.Linq.dll.so
  [96/133] System.Memory.dll -> System.Memory.dll.so
  [97/133] System.Net.Http.dll -> System.Net.Http.dll.so
  [98/133] System.Net.NameResolution.dll -> System.Net.NameResolution.dll.so
  [99/133] System.Net.Primitives.dll -> System.Net.Primitives.dll.so
  [100/133] System.Net.Requests.dll -> System.Net.Requests.dll.so
  [101/133] System.Net.Sockets.dll -> System.Net.Sockets.dll.so
  [102/133] System.Numerics.Vectors.dll -> System.Numerics.Vectors.dll.so
  [103/133] System.ObjectModel.dll -> System.ObjectModel.dll.so
  [104/133] System.Private.Uri.dll -> System.Private.Uri.dll.so
  [105/133] System.Private.Xml.Linq.dll -> System.Private.Xml.Linq.dll.so
  [106/133] System.Private.Xml.dll -> System.Private.Xml.dll.so
  [107/133] System.Reflection.Extensions.dll -> System.Reflection.Extensions.dll.so
  [108/133] System.Reflection.TypeExtensions.dll -> System.Reflection.TypeExtensions.dll.so
  [109/133] System.Reflection.dll -> System.Reflection.dll.so
  [110/133] System.Runtime.Extensions.dll -> System.Runtime.Extensions.dll.so
  [111/133] System.Runtime.InteropServices.RuntimeInformation.dll -> System.Runtime.InteropServices.RuntimeInformation.dll.so
  [112/133] System.Runtime.InteropServices.dll -> System.Runtime.InteropServices.dll.so
  [113/133] System.Runtime.Loader.dll -> System.Runtime.Loader.dll.so
  [114/133] System.Runtime.Numerics.dll -> System.Runtime.Numerics.dll.so
  [115/133] System.Runtime.dll -> System.Runtime.dll.so
  [116/133] System.Security.Cryptography.dll -> System.Security.Cryptography.dll.so
  [117/133] System.Text.Encoding.dll -> System.Text.Encoding.dll.so
  [118/133] System.Text.Encodings.Web.dll -> System.Text.Encodings.Web.dll.so
  [119/133] System.Text.Json.dll -> System.Text.Json.dll.so
  [120/133] System.Text.RegularExpressions.dll -> System.Text.RegularExpressions.dll.so
  [121/133] System.Threading.Tasks.dll -> System.Threading.Tasks.dll.so
  [122/133] System.Threading.Thread.dll -> System.Threading.Thread.dll.so
  [123/133] System.Threading.ThreadPool.dll -> System.Threading.ThreadPool.dll.so
  [124/133] System.Threading.dll -> System.Threading.dll.so
  [125/133] System.Xml.Linq.dll -> System.Xml.Linq.dll.so
  [126/133] System.Xml.ReaderWriter.dll -> System.Xml.ReaderWriter.dll.so
  [127/133] System.Xml.XDocument.dll -> System.Xml.XDocument.dll.so
  [128/133] System.dll -> System.dll.so
  [129/133] netstandard.dll -> netstandard.dll.so
  [130/133] Java.Interop.dll -> Java.Interop.dll.so
  [131/133] Mono.Android.Runtime.dll -> Mono.Android.Runtime.dll.so
  [132/133] Mono.Android.dll -> Mono.Android.dll.so
  [133/133] System.Private.CoreLib.dll -> System.Private.CoreLib.dll.so

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:11:04.90
[11.0.0-prerelease.26230.4+92962e5c46ac08a66ded4c5696209cc60f1a232f] XHarness command issued: android test --app /home/vsts/work/1/s/artifacts/bin/Controls.DeviceTests/Release/net10.0-android/com.microsoft.maui.controls.devicetests-Signed.apk --package-name com.microsoft.maui.controls.devicetests --device-id emulator-5554 -o artifacts/log --timeout 01:00:00 -v --arg TestFilter=ControlsHandlerTestBase
�[40m�[37mdbug�[39m�[22m�[49m: ADBRunner using ADB.exe supplied from /home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/tools/net10.0/any/../../../runtimes/any/native/adb/linux/adb
�[40m�[37mdbug�[39m�[22m�[49m: Full resolved path:'/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb'
�[40m�[32minfo�[39m�[22m�[49m: Will attempt to find device supporting architectures: 'arm64-v8a', 'x86_64'
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb start-server'
�[40m�[37mdbug�[39m�[22m�[49m: 
�[40m�[32minfo�[39m�[22m�[49m: Finding attached devices/emulators...
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb devices -l'
�[40m�[37mdbug�[39m�[22m�[49m: Found 1 possible devices
�[40m�[37mdbug�[39m�[22m�[49m: Evaluating output line for device serial: emulator-5554          device product:sdk_gphone_x86_64 model:sdk_gphone_x86_64 device:generic_x86_64_arm64 transport_id:2
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 shell getprop ro.product.cpu.abilist'
�[40m�[37mdbug�[39m�[22m�[49m: Found 1 possible devices. Using 'emulator-5554'
�[40m�[32minfo�[39m�[22m�[49m: Active Android device set to serial 'emulator-5554'
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 -s emulator-5554 shell getprop ro.product.cpu.abi'
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 -s emulator-5554 shell getprop ro.build.version.sdk'
�[40m�[32minfo�[39m�[22m�[49m: Waiting for device to be available (max 5 minutes)
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 wait-for-device'
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 -s emulator-5554 shell getprop sys.boot_completed'
�[40m�[37mdbug�[39m�[22m�[49m: sys.boot_completed = '1'
�[40m�[37mdbug�[39m�[22m�[49m: Waited 0 seconds for device boot completion
�[40m�[37mdbug�[39m�[22m�[49m: Working with emulator-5554 (API 30)
�[40m�[37mdbug�[39m�[22m�[49m: Check current adb install and/or package verification settings
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 shell settings get global verifier_verify_adb_installs'
�[40m�[37mdbug�[39m�[22m�[49m: verifier_verify_adb_installs = 0
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 shell settings get global package_verifier_enable'
�[40m�[37mdbug�[39m�[22m�[49m: package_verifier_enable = 
�[40m�[1m�[33mwarn�[39m�[22m�[49m: Installing debug apks on a device might be rejected with INSTALL_FAILED_VERIFICATION_FAILURE. Make sure to set 'package_verifier_enable' to '0'
�[40m�[32minfo�[39m�[22m�[49m: Attempting to remove apk 'com.microsoft.maui.controls.devicetests'..
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 uninstall com.microsoft.maui.controls.devicetests'
�[41m�[30mfail�[39m�[22m�[49m: Waiting for command timed out: execution may be compromised
�[41m�[30mfail�[39m�[22m�[49m: Error: Exit code: -2
      Std out:
      
      
      
�[40m�[32minfo�[39m�[22m�[49m: Attempting to install /home/vsts/work/1/s/artifacts/bin/Controls.DeviceTests/Release/net10.0-android/com.microsoft.maui.controls.devicetests-Signed.apk
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 install /home/vsts/work/1/s/artifacts/bin/Controls.DeviceTests/Release/net10.0-android/com.microsoft.maui.controls.devicetests-Signed.apk'
�[41m�[30mfail�[39m�[22m�[49m: Error:
      Exit code: 1
      Std out:
      Serving...
      Performing Incremental Install
      cmd: Failure calling service package: Broken pipe (32)
      Performing Streamed Install
      
      
      Std err:
      All files should be loaded. Notifying the device.
      adb: failed to install /home/vsts/work/1/s/artifacts/bin/Controls.DeviceTests/Release/net10.0-android/com.microsoft.maui.controls.devicetests-Signed.apk: cmd: Can't find service: package
      
      
      
�[41m�[1m�[37mcrit�[39m�[22m�[49m: Install failure: Test command cannot continue
�[40m�[32minfo�[39m�[22m�[49m: Attempting to remove apk 'com.microsoft.maui.controls.devicetests'..
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 uninstall com.microsoft.maui.controls.devicetests'
�[41m�[30mfail�[39m�[22m�[49m: Error: Exit code: 20
      Std out:
      
      
      Std err:
      cmd: Can't find service: package
      
      
      
�[40m�[32minfo�[39m�[22m�[49m: Attempting to remove apk 'com.microsoft.maui.controls.devicetests'..
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 uninstall com.microsoft.maui.controls.devicetests'
�[41m�[30mfail�[39m�[22m�[49m: Error: Exit code: 20
      Std out:
      
      
      Std err:
      cmd: Can't find service: package
      
      
      
XHarness exit code: 78 (PACKAGE_INSTALLATION_FAILURE)
  Tests completed with exit code: 78

🟢 With fix — 📱 ControlsHandlerTestBase: PASS ✅ · 968s
(truncated to last 15,000 chars)

ASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:55.059 14066 17562 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:55.181 14066 17567 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:55.306 14066 17572 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:55.414 14066 17577 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:55.655 14066 17582 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:55.830 14066 17587 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:55.948 14066 17592 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:56.088 14066 17597 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:56.218 14066 17602 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:56.332 14066 17607 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:56.543 14066 17612 I DOTNET  : 	[PASS] ViewWithMarginSetsFrameAndDesiredSizeCorrectly
      07-05 21:30:56.713 14066 17617 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:56.863 14066 17622 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:57.029 14066 17627 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:57.179 14066 17632 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:57.412 14066 17637 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:57.596 14066 17642 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:57.813 14066 17647 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:57.997 14066 17652 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:58.180 14066 17657 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:58.364 14066 17662 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:58.530 14066 17667 I DOTNET  : 	[PASS] ArrangesContentWithoutOverlapAndWithProperSize
      07-05 21:30:58.530 14066 17667 I DOTNET  : Microsoft.Maui.DeviceTests.ViewTests 6.6376029 ms
      07-05 21:30:58.530 14066 17667 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.HybridWebViewTests_Initialization
      07-05 21:30:59.199 14066 17673 I DOTNET  : 	[PASS] CanSetUserAgentUsingProperties
      07-05 21:30:59.895 14066 17679 I DOTNET  : 	[PASS] CanSetUserAgentUsingInitializingEvent
      07-05 21:31:00.634 14066 17686 I DOTNET  : 	[PASS] InitializedEventIsRaised
      07-05 21:31:01.280 14066 17693 I DOTNET  : 	[PASS] InitializingEventIsRaised
      07-05 21:31:01.971 14066 17700 I DOTNET  : 	[PASS] InitializingEventIsRaisedAndPropertiesSetAreApplied
      07-05 21:31:01.972 14066 17700 I DOTNET  : Microsoft.Maui.DeviceTests.HybridWebViewTests_Initialization 3.4381622 ms
      07-05 21:31:01.972 14066 17700 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.VisualElementRendererTests
      07-05 21:31:02.083 14066 17700 I DOTNET  : 	[PASS] CompatibilityRendererWorksWithNoInnerContrlSpecified
      07-05 21:31:02.083 14066 17700 I DOTNET  : Microsoft.Maui.DeviceTests.VisualElementRendererTests 0.0042772 ms
      07-05 21:31:02.083 14066 17700 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.HybridWebViewTests_InvokeDotNet
      07-05 21:31:02.718 14066 14086 I DOTNET  : fail: Microsoft.Maui.Platform.MauiHybridWebViewClient[0]
      07-05 21:31:02.718 14066 14086 I DOTNET  :       InvokeDotNet endpoint missing or invalid request header
      07-05 21:31:03.226 14066 17706 I DOTNET  : 	[PASS] GetRequestsAreBlocked
      07-05 21:31:03.913 14066 14086 I DOTNET  : fail: Microsoft.Maui.Platform.MauiHybridWebViewClient[0]
      07-05 21:31:03.913 14066 14086 I DOTNET  :       InvokeDotNet endpoint missing or invalid request header
      07-05 21:31:04.211 14066 17712 I DOTNET  : 	[PASS] InvalidTokenHeaderIsBlocked
      07-05 21:31:04.211 14066 17712 I DOTNET  : 	[IGNORED] IframeRequestIsBlocked
      07-05 21:31:04.849 14066 14086 I DOTNET  : fail: Microsoft.Maui.Platform.MauiHybridWebViewClient[0]
      07-05 21:31:04.849 14066 14086 I DOTNET  :       InvokeDotNet request missing X-Maui-Request-Body header
      07-05 21:31:05.149 14066 17718 I DOTNET  : 	[PASS] EmptyBodyIsBlocked
      07-05 21:31:05.792 14066 14086 I DOTNET  : fail: Microsoft.Maui.Handlers.HybridWebViewHandler[0]
      07-05 21:31:05.792 14066 14086 I DOTNET  :       An error occurred while invoking a .NET method from JavaScript: The invoke data did not provide a method name.
      07-05 21:31:05.792 14066 14086 I DOTNET  :       System.InvalidOperationException: The invoke data did not provide a method name.
      07-05 21:31:05.792 14066 14086 I DOTNET  :          at Microsoft.Maui.HybridWebViewHelper.ProcessInvokeDotNetAsync(Object invokeTarget, Type invokeTargetType, ILogger logger, Stream streamBody, String stringBody)
      07-05 21:31:06.302 14066 17724 I DOTNET  : 	[PASS] ValidRequestIsNotBlocked
      07-05 21:31:06.990 14066 14086 I DOTNET  : fail: Microsoft.Maui.Platform.MauiHybridWebViewClient[0]
      07-05 21:31:06.990 14066 14086 I DOTNET  :       InvokeDotNet endpoint only accepts POST requests. Received: GET
      07-05 21:31:07.501 14066 17730 I DOTNET  : 	[PASS] GetRequestWithHeaderIsBlocked
      07-05 21:31:08.175 14066 14086 I DOTNET  : fail: Microsoft.Maui.Platform.MauiHybridWebViewClient[0]
      07-05 21:31:08.175 14066 14086 I DOTNET  :       InvokeDotNet endpoint missing or invalid request header
      07-05 21:31:08.434 14066 17736 I DOTNET  : 	[PASS] MissingTokenHeaderIsBlocked
      07-05 21:31:09.109 14066 14086 I DOTNET  : fail: Microsoft.Maui.Platform.MauiHybridWebViewClient[0]
      07-05 21:31:09.109 14066 14086 I DOTNET  :       InvokeDotNet request missing X-Maui-Request-Body header
      07-05 21:31:09.366 14066 17742 I DOTNET  : 	[PASS] MissingBodyHeaderIsBlocked
      07-05 21:31:09.366 14066 17742 I DOTNET  : Microsoft.Maui.DeviceTests.HybridWebViewTests_InvokeDotNet 7.2786471 ms
      07-05 21:31:09.366 14066 17742 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.DispatchingTests
      07-05 21:31:09.897 14066 17747 I DOTNET  : 	[PASS] DispatchFromBackgroundThread
      07-05 21:31:09.897 14066 17747 I DOTNET  : Microsoft.Maui.DeviceTests.DispatchingTests 0.5301764 ms
      07-05 21:31:09.897 14066 17747 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.HybridWebViewTests_ContentRootResolution
      07-05 21:31:10.578 14066 17753 I DOTNET  : 	[PASS] RootedPath_DoesNotResolve
      07-05 21:31:11.239 14066 17759 I DOTNET  : 	[PASS] RootedPath_DoesNotResolve
      07-05 21:31:11.899 14066 17765 I DOTNET  : 	[PASS] RootedPath_DoesNotResolve
      07-05 21:31:12.594 14066 17771 I DOTNET  : 	[PASS] RelativePaths_ResolveToContent
      07-05 21:31:13.282 14066 17778 I DOTNET  : 	[PASS] RelativePaths_ResolveToContent
      07-05 21:31:13.970 14066 17784 I DOTNET  : 	[PASS] RelativePaths_ResolveToContent
      07-05 21:31:14.655 14066 17790 I DOTNET  : 	[PASS] EncodedSeparators_DoNotAffectResolution
      07-05 21:31:15.389 14066 17796 I DOTNET  : 	[PASS] EncodedSeparators_DoNotAffectResolution
      07-05 21:31:16.030 14066 17802 I DOTNET  : 	[PASS] KnownFile_ReturnsExpectedContent
      07-05 21:31:16.722 14066 17808 I DOTNET  : 	[PASS] DotDotSegments_DoNotResolveAboveRoot
      07-05 21:31:17.401 14066 17814 I DOTNET  : 	[PASS] DotDotSegments_DoNotResolveAboveRoot
      07-05 21:31:17.872 14066 17820 I DOTNET  : 	[PASS] DotDotSegments_DoNotResolveAboveRoot
      07-05 21:31:17.872 14066 17820 I DOTNET  : Microsoft.Maui.DeviceTests.HybridWebViewTests_ContentRootResolution 7.9674260 ms
      07-05 21:31:17.872 14066 17820 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.RefreshViewTests
      07-05 21:31:17.997 14066 17826 I DOTNET  : 	[PASS] Setting the content of RefreshView removes previous platform view from visual tree
      07-05 21:31:17.998 14066 17826 I DOTNET  : 	[PASS] IsRefreshEnabled can be set to false
      07-05 21:31:17.999 14066 17826 I DOTNET  : 	[PASS] Setting IsRefreshEnabled to false while refreshing stops refresh
      07-05 21:31:17.999 14066 17826 I DOTNET  : 	[PASS] IsRefreshEnabled defaults to true
      07-05 21:31:17.999 14066 17826 I DOTNET  : 	[PASS] IsEnabled prevents IsRefreshing from being set to true
      07-05 21:31:18.000 14066 17826 I DOTNET  : 	[PASS] Setting IsEnabled to false while refreshing stops refresh
      07-05 21:31:18.000 14066 17826 I DOTNET  : 	[PASS] IsRefreshEnabled prevents IsRefreshing from being set to true
      07-05 21:31:18.000 14066 17826 I DOTNET  : 	[PASS] IsRefreshing can be set to false when IsRefreshEnabled is false
      07-05 21:31:18.000 14066 17826 I DOTNET  : Microsoft.Maui.DeviceTests.RefreshViewTests 0.1256735 ms
      07-05 21:31:18.000 14066 17826 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.FrameTests
      07-05 21:31:18.197 14066 17832 I DOTNET  : 	[PASS] Frame Respects minimum height/width
      07-05 21:31:18.339 14066 17838 I DOTNET  : 	[PASS] FrameIncludesPadding
      07-05 21:31:19.506 14066 17853 I DOTNET  : 	[PASS] FrameContentAccountsForBorderThickness
      07-05 21:31:19.651 14066 17858 I DOTNET  : 	[PASS] Update Frame Content Test
      07-05 21:31:19.655 14066 17858 I DOTNET  : 	[PASS] Frame BorderColor Initializes Correctly
      07-05 21:31:19.727 14066 17863 I DOTNET  : 	[PASS] Frame BorderColor Initializes Correctly
      07-05 21:31:19.735 14066 17863 I DOTNET  : 	[PASS] Frame BorderColor Initializes Correctly
      07-05 21:31:20.194 14066 17869 I DOTNET  : 	[PASS] FrameIncludesBorderThickness
      07-05 21:31:20.319 14066 17875 I DOTNET  : 	[PASS] Frame With Entry Measures
      07-05 21:31:20.464 14066 17881 I DOTNET  : 	[PASS] FrameDoesNotInterpretConstraintsAsMinimums
      07-05 21:31:20.488 14066 17886 I DOTNET  : 	[PASS] Frame BackgroundColor Initializes Correctly
      07-05 21:31:20.512 14066 17891 I DOTNET  : 	[PASS] Frame BackgroundColor Initializes Correctly
      07-05 21:31:20.523 14066 17891 I DOTNET  : 	[PASS] Frame BackgroundColor Initializes Correctly
      07-05 21:31:21.044 14066 17896 I DOTNET  : 	[PASS] Basic Frame Test
      07-05 21:31:21.263 14066 17902 I DOTNET  : 	[PASS] FramesWithinFrames
      07-05 21:31:21.378 14066 17908 I DOTNET  : 	[PASS] FramesWithinFrames
      07-05 21:31:21.495 14066 17914 I DOTNET  : 	[PASS] FramesWithinFrames
      07-05 21:31:21.613 14066 17920 I DOTNET  : 	[PASS] FramesWithinFrames
      07-05 21:31:21.613 14066 17920 I DOTNET  : Microsoft.Maui.DeviceTests.FrameTests 3.4962644 ms
      07-05 21:31:21.613 14066 17920 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.SwipeViewTests
      07-05 21:31:21.738 14066 17925 I DOTNET  : 	[PASS] SwipeItem Size Initializes Correctly
      07-05 21:31:21.750 14066 17931 I DOTNET  : 	[PASS] ScaleXConsistent
      07-05 21:31:21.752 14066 17931 I DOTNET  : 	[PASS] RotationXConsistent
      07-05 21:31:21.755 14066 17931 I DOTNET  : 	[PASS] VerifySwipeViewIsEnabledProperty
      07-05 21:31:21.765 14066 17931 I DOTNET  : 	[PASS] VerifySwipeViewOpacityProperty
      07-05 21:31:21.768 14066 17931 I DOTNET  : 	[PASS] ScaleConsistent
      07-05 21:31:21.770 14066 17931 I DOTNET  : 	[PASS] RotationConsistent
      07-05 21:31:21.772 14066 17931 I DOTNET  : 	[PASS] VerifySwipeViewIsVisibleProperty
      07-05 21:31:21.775 14066 17931 I DOTNET  : 	[PASS] ScaleYConsistent
      07-05 21:31:26.528 14066 17936 I DOTNET  : 	[PASS] Items Do Not Leak
      07-05 21:31:26.531 14066 17936 I DOTNET  : 	[PASS] RotationYConsistent
      07-05 21:31:26.533 14066 17936 I DOTNET  : 	[PASS] SwipeViewTranslationConsistent
      07-05 21:31:26.643 14066 17941 I DOTNET  : 	[PASS] SwipeView LogicalChildren Works Correctly
      07-05 21:31:26.643 14066 17941 I DOTNET  : Microsoft.Maui.DeviceTests.SwipeViewTests 5.0255895 ms
      07-05 21:31:26.643 14066 17941 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.Memory.WindowOverlayTests
      07-05 21:31:28.348 14066 17946 I DOTNET  : 	[PASS] Does Not Leak
      07-05 21:31:28.348 14066 17946 I DOTNET  : Microsoft.Maui.DeviceTests.Memory.WindowOverlayTests 1.7040636 ms
      07-05 21:31:28.348 14066 17946 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.ImageTests
      07-05 21:31:28.351 14066 17946 I DOTNET  : 	[PASS] ScaleXConsistent
      07-05 21:31:28.352 14066 17946 I DOTNET  : 	[PASS] RotationConsistent
      07-05 21:31:28.353 14066 17946 I DOTNET  : 	[PASS] ScaleYConsistent
      07-05 21:31:29.466 14066 17954 I DOTNET  : 	[PASS] ImageSetFromStreamRenders
      07-05 21:31:29.480 14066 17960 I DOTNET  : 	[PASS] RotationYConsistent
      07-05 21:31:29.595 14066 17965 I DOTNET  : 	[PASS] ImageBackgroundColorConsistent
      07-05 21:31:29.633 14066 17970 I DOTNET  : 	[PASS] CachingDisabledForImagesLoadViaInputStreams
      07-05 21:31:29.636 14066 17970 I DOTNET  : 	[PASS] ScaleConsistent
      07-05 21:31:29.767 14066 17975 I DOTNET  : 	[PASS] ImageWithUndefinedSizeAndWithBackgroundSetRenders
      07-05 21:31:29.808 14066 17975 I DOTNET  : 	[PASS] VerifyImageOpacityProperty
      07-05 21:31:29.811 14066 17975 I DOTNET  : 	[PASS] RotationXConsistent
      07-05 21:31:29.811 14066 17975 I DOTNET  : Microsoft.Maui.DeviceTests.ImageTests 1.4552145 ms
      07-05 21:31:29.852 14066 16557 I DOTNET  : Xml file was written to the provided writer.
      07-05 21:31:29.852 14066 16557 I DOTNET  : Tests run: 968 Passed: 954 Inconclusive: 0 Failed: 0 Ignored: 0
�[40m�[32minfo�[39m�[22m�[49m: <<XHARNESS_RESULT_START>>
      {
        "version": 1,
        "machineName": "runnervm5lfqw",
        "exitCode": 0,
        "exitCodeName": "SUCCESS",
        "platform": "android",
        "instrumentationExitCode": 0,
        "device": "emulator-5554",
        "deviceOsVersion": "API 30",
        "architecture": "x86_64",
        "files": [
          {
            "name": "testResults.xml",
            "type": "test-results"
          },
          {
            "name": "adb-logcat-com.microsoft.maui.controls.devicetests-default.log",
            "type": "logcat"
          }
        ]
      }
      <<XHARNESS_RESULT_END>>
�[40m�[32minfo�[39m�[22m�[49m: Attempting to remove apk 'com.microsoft.maui.controls.devicetests'..
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 uninstall com.microsoft.maui.controls.devicetests'
�[40m�[32minfo�[39m�[22m�[49m: Successfully uninstalled com.microsoft.maui.controls.devicetests
XHarness exit code: 0
  Tests completed successfully

🔴 Without fix — 📱 NavigationPageTests (PushingToPageWithoutNavigationBarClearsAppBarInsetPadding): FAIL ✅ · 266s
(truncated to last 15,000 chars)

t.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_1`1.<<CreateHandlerAndAddToWindow>b__1>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_0`1.<<CreateHandlerAndAddToWindow>b__0>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.NavigationPageTests.PushingToPageWithoutNavigationBarClearsAppBarInsetPadding()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    Execution time: 2.8042977
      07-05 21:00:09.154 10468 10582 I DOTNET  :    Test trait name: Category
      07-05 21:00:09.154 10468 10582 I DOTNET  :       value: NavigationPage
      07-05 21:00:09.154 10468 10582 I DOTNET  :       value: NavigationPage
      07-05 21:00:09.154 10468 10582 I DOTNET  : 	[FAIL] NavigationPage push to hidden navigation bar clears app bar inset padding
      07-05 21:00:09.154 10468 10582 I DOTNET  : 	[FAIL] NavigationPage push to hidden navigation bar clears app bar inset padding   Test name: NavigationPage push to hidden navigation bar clears app bar inset padding
      07-05 21:00:09.154 10468 10582 I DOTNET  :    Assembly:  [Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]
      07-05 21:00:09.154 10468 10582 I DOTNET  :    Exception messages: Navigating to a page with the navigation bar hidden did not trigger an inset redispatch that cleared the AppBar top padding.   Exception stack traces:    at Microsoft.Maui.DeviceTests.AssertHelpers.AssertEventually(Func`1 assertion, Int32 timeout, Int32 interval, String message)
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.NavigationPageTests.<>c__DisplayClass2_0.<<PushingToPageWithoutNavigationBarClearsAppBarInsetPadding>b__0>d.MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_1`1.<<CreateHandlerAndAddToWindow>b__1>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_0`1.<<CreateHandlerAndAddToWindow>b__0>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    at Microsoft.Maui.DeviceTests.NavigationPageTests.PushingToPageWithoutNavigationBarClearsAppBarInsetPadding()
      07-05 21:00:09.154 10468 10582 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:09.154 10468 10582 I DOTNET  :    Execution time: 2.8042977
      07-05 21:00:09.154 10468 10582 I DOTNET  :    Test trait name: Category
      07-05 21:00:09.154 10468 10582 I DOTNET  :       value: NavigationPage
      07-05 21:00:09.154 10468 10582 I DOTNET  :       value: NavigationPage
      07-05 21:00:09.154 10468 10582 I DOTNET  : 
      07-05 21:00:09.364 10468 10587 I DOTNET  : 	[PASS] Insert Page Before Root Page and then PopToRoot
      07-05 21:00:09.367 10468 10587 I DOTNET  : 	[IGNORED] Does Not Leak
      07-05 21:00:09.570 10468 10592 I DOTNET  : 	[PASS] PushedPageFiresNavigatedEventOnInitialLoad
      07-05 21:00:10.499 10468 10597 I DOTNET  : 	[PASS] Pushing And Popping Doesnt Fire BackButtonVisible Toolbar Events
      07-05 21:00:10.906 10468 10602 I DOTNET  : 	[PASS] Set Has Back Button
      07-05 21:00:11.179 10468 10607 I DOTNET  : 	[PASS] Set Has Navigation Bar
      07-05 21:00:12.555 10468 10612 I DOTNET  : 	[PASS] Can Reuse Pages
      07-05 21:00:12.556 10468 10612 I DOTNET  : Microsoft.Maui.DeviceTests.NavigationPageTests 17.3182601 ms
      07-05 21:00:12.610 10468 10497 I DOTNET  : Failed tests:
      07-05 21:00:12.614 10468 10497 I DOTNET  : 1) 	[FAIL] NavigationPage push to hidden navigation bar clears app bar inset padding   Test name: NavigationPage push to hidden navigation bar clears app bar inset padding
      07-05 21:00:12.614 10468 10497 I DOTNET  :    Assembly:  [Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]
      07-05 21:00:12.614 10468 10497 I DOTNET  :    Exception messages: Navigating to a page with the navigation bar hidden did not trigger an inset redispatch that cleared the AppBar top padding.   Exception stack traces:    at Microsoft.Maui.DeviceTests.AssertHelpers.AssertEventually(Func`1 assertion, Int32 timeout, Int32 interval, String message)
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.DeviceTests.NavigationPageTests.<>c__DisplayClass2_0.<<PushingToPageWithoutNavigationBarClearsAppBarInsetPadding>b__0>d.MoveNext()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_1`1.<<CreateHandlerAndAddToWindow>b__1>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_0`1.<<CreateHandlerAndAddToWindow>b__0>d[[Microsoft.Maui.DeviceTests.Stubs.WindowHandlerStub, Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    at Microsoft.Maui.DeviceTests.NavigationPageTests.PushingToPageWithoutNavigationBarClearsAppBarInsetPadding()
      07-05 21:00:12.614 10468 10497 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:00:12.614 10468 10497 I DOTNET  :    Execution time: 2.8042977
      07-05 21:00:12.614 10468 10497 I DOTNET  :    Test trait name: Category
      07-05 21:00:12.614 10468 10497 I DOTNET  :       value: NavigationPage
      07-05 21:00:12.614 10468 10497 I DOTNET  :       value: NavigationPage
      07-05 21:00:12.614 10468 10497 I DOTNET  : 
      07-05 21:00:12.642 10468 10497 I DOTNET  : Xml file was written to the provided writer.
      07-05 21:00:12.643 10468 10497 I DOTNET  : Tests run: 572 Passed: 20 Inconclusive: 0 Failed: 1 Ignored: 550
�[41m�[30mfail�[39m�[22m�[49m: Non-success instrumentation exit code: 1, expected: 0
�[40m�[32minfo�[39m�[22m�[49m: <<XHARNESS_RESULT_START>>
      {
        "version": 1,
        "machineName": "runnervm5lfqw",
        "exitCode": 1,
        "exitCodeName": "TESTS_FAILED",
        "platform": "android",
        "instrumentationExitCode": 1,
        "device": "emulator-5554",
        "deviceOsVersion": "API 30",
        "architecture": "x86_64",
        "files": [
          {
            "name": "testResults.xml",
            "type": "test-results"
          },
          {
            "name": "adb-logcat-com.microsoft.maui.controls.devicetests-default.log",
            "type": "logcat"
          }
        ]
      }
      <<XHARNESS_RESULT_END>>
�[40m�[32minfo�[39m�[22m�[49m: Attempting to remove apk 'com.microsoft.maui.controls.devicetests'..
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 uninstall com.microsoft.maui.controls.devicetests'
�[40m�[32minfo�[39m�[22m�[49m: Successfully uninstalled com.microsoft.maui.controls.devicetests
XHarness exit code: 1 (TESTS_FAILED)
  Tests completed with exit code: 1

🟢 With fix — 📱 NavigationPageTests (PushingToPageWithoutNavigationBarClearsAppBarInsetPadding): PASS ✅ · 255s
(truncated to last 15,000 chars)

 Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'HybridWebView'): [Memory] Handler Does Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Image'): [Memory] Handler Does Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Label'): [Memory] Handler Does Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Layout'): [Memory] Handler Does Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Lifecycle'): [Memory] Handler Does Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'ListView'): [Memory] Handler Does Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Map'): [Memory] Handler Does Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'MenuFlyout'): [Memory] Handler Does Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Mapper'): [Memory] Handler Does Not Leak
      07-05 21:35:28.584 18452 18479 I DOTNET  : [FILTER] Excluded test (filtered by Trait; 'Category':'Memory'): [Memory] Handler Does Not Leak
      07-05 21:35:28.587 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Window'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:35:28.593 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'WindowOverlay'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:35:28.593 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Xaml'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Accessibility'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Application'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Behavior'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Border'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'BoxView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Button'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'CarouselView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'CheckBox'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'CollectionView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Compatibility'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'ContentView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'DatePicker'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Dispatcher'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Editor'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Element'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Entry'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'FlexLayout'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'FlyoutPage'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Frame'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Gesture'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'HybridWebView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Image'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Label'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Layout'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Lifecycle'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'ListView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Map'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'MenuFlyout'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Mapper'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Excluded test (filtered by Trait; 'Category':'Memory'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Modal'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Page'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Path'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Picker'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'RadioButton'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'RefreshView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'ScrollView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'SearchBar'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Shape'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Shell'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Slider'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'SwipeView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'TabbedPage'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'TextInput'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Toolbar'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'TemplatedView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'View'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'VisualElement'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'VisualElementTree'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'WebView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Window'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'WindowOverlay'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.594 18452 18479 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Xaml'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:35:28.610 18452 18479 I DOTNET  : [Test environment: 64-bit .NET .NET 10.0 [collection-per-class, non-parallel]]
      07-05 21:35:28.610 18452 18479 I DOTNET  : [Test framework: xUnit.net 2.9.0.0]
      07-05 21:35:28.622 18452 18479 I DOTNET  : Serialize test because it has to add itself to the main window
      07-05 21:35:30.170 18452 18491 I DOTNET  : 	[PASS] Swapping Navigation Toggles BackButton Correctly
      07-05 21:35:30.463 18452 18496 I DOTNET  : 	[PASS] InitialPageFiresNavigatedEvent
      07-05 21:35:33.046 18452 18502 I DOTNET  : 	[PASS] Child Pages Do Not Leak
      07-05 21:35:33.231 18452 18507 I DOTNET  : 	[PASS] NavigationBar Removes When MainPage Set To ContentPage
      07-05 21:35:34.177 18452 18512 I DOTNET  : 	[PASS] PoppingNavigationPageDoesntCrash
      07-05 21:35:35.155 18452 18518 I DOTNET  : 	[PASS] StackNavigationManager Clears References On Disconnect (Issue 33918)
      07-05 21:35:36.674 18452 18523 I DOTNET  : 	[PASS] Pushing a Tabbed Page Doesn't Throw Exception
      07-05 21:35:36.898 18452 18528 I DOTNET  : 	[PASS] Insert Page Before RootPage ShowsBackButton
      07-05 21:35:37.469 18452 18533 I DOTNET  : 	[PASS] SettingTitleIconImageSourceDoesntCrash
      07-05 21:35:38.039 18452 18538 I DOTNET  : 	[PASS] Remove Root Page Hides Back Button
      07-05 21:35:38.941 18452 18543 I DOTNET  : 	[PASS] PopLifeCycle
      07-05 21:35:39.838 18452 18550 I DOTNET  : 	[PASS] Back Button Visibility Changes with push/pop
      07-05 21:35:40.553 18452 18556 I DOTNET  : 	[PASS] NavigationPage push to hidden navigation bar clears app bar inset padding
      07-05 21:35:40.795 18452 18561 I DOTNET  : 	[PASS] Insert Page Before Root Page and then PopToRoot
      07-05 21:35:40.798 18452 18561 I DOTNET  : 	[IGNORED] Does Not Leak
      07-05 21:35:41.033 18452 18566 I DOTNET  : 	[PASS] PushedPageFiresNavigatedEventOnInitialLoad
      07-05 21:35:41.903 18452 18571 I DOTNET  : 	[PASS] Pushing And Popping Doesnt Fire BackButtonVisible Toolbar Events
      07-05 21:35:42.393 18452 18576 I DOTNET  : 	[PASS] Set Has Back Button
      07-05 21:35:42.599 18452 18581 I DOTNET  : 	[PASS] Set Has Navigation Bar
      07-05 21:35:43.994 18452 18586 I DOTNET  : 	[PASS] Can Reuse Pages
      07-05 21:35:44.003 18452 18586 I DOTNET  : Microsoft.Maui.DeviceTests.NavigationPageTests 15.2171906 ms
      07-05 21:35:44.011 18452 18586 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.AlertDialogTests
      07-05 21:35:44.039 18452 18592 I DOTNET  : 	[PASS] AlertDialogButtonColorDarkTheme
      07-05 21:35:44.249 18452 18592 I DOTNET  : 	[PASS] AlertDialogButtonColorLightTheme
      07-05 21:35:44.250 18452 18592 I DOTNET  : Microsoft.Maui.DeviceTests.AlertDialogTests 0.2102049 ms
      07-05 21:35:44.348 18452 18479 I DOTNET  : Xml file was written to the provided writer.
      07-05 21:35:44.349 18452 18479 I DOTNET  : Tests run: 572 Passed: 21 Inconclusive: 0 Failed: 0 Ignored: 550
�[40m�[32minfo�[39m�[22m�[49m: <<XHARNESS_RESULT_START>>
      {
        "version": 1,
        "machineName": "runnervm5lfqw",
        "exitCode": 0,
        "exitCodeName": "SUCCESS",
        "platform": "android",
        "instrumentationExitCode": 0,
        "device": "emulator-5554",
        "deviceOsVersion": "API 30",
        "architecture": "x86_64",
        "files": [
          {
            "name": "testResults.xml",
            "type": "test-results"
          },
          {
            "name": "adb-logcat-com.microsoft.maui.controls.devicetests-default.log",
            "type": "logcat"
          }
        ]
      }
      <<XHARNESS_RESULT_END>>
�[40m�[32minfo�[39m�[22m�[49m: Attempting to remove apk 'com.microsoft.maui.controls.devicetests'..
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 uninstall com.microsoft.maui.controls.devicetests'
�[40m�[32minfo�[39m�[22m�[49m: Successfully uninstalled com.microsoft.maui.controls.devicetests
XHarness exit code: 0
  Tests completed successfully

🔴 Without fix — 📱 ShellTests (HiddenShellNavigationBarClearsAppBarInsetPadding): FAIL ✅ · 306s
(truncated to last 15,000 chars)

594 11056 11369 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:04:49.594 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.594 11056 11369 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:04:49.594 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.594 11056 11369 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_0`1.<<CreateHandlerAndAddToWindow>b__0>d[[Microsoft.Maui.Controls.Handlers.Compatibility.ShellRenderer, Microsoft.Maui.Controls, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:04:49.594 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.594 11056 11369 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:04:49.594 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.594 11056 11369 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:04:49.594 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.594 11056 11369 I DOTNET  :    at Microsoft.Maui.DeviceTests.ShellTests.HiddenShellNavigationBarClearsAppBarInsetPadding()
      07-05 21:04:49.594 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.594 11056 11369 I DOTNET  :    Execution time: 2.5715023
      07-05 21:04:49.594 11056 11369 I DOTNET  :    Test trait name: Category
      07-05 21:04:49.594 11056 11369 I DOTNET  :       value: Shell
      07-05 21:04:49.594 11056 11369 I DOTNET  :       value: Shell
      07-05 21:04:49.597 11056 11369 I DOTNET  : 	[FAIL] Hidden Shell navigation bar clears app bar inset padding
      07-05 21:04:49.597 11056 11369 I DOTNET  : 	[FAIL] Hidden Shell navigation bar clears app bar inset padding   Test name: Hidden Shell navigation bar clears app bar inset padding
      07-05 21:04:49.597 11056 11369 I DOTNET  :    Assembly:  [Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]
      07-05 21:04:49.597 11056 11369 I DOTNET  :    Exception messages: Shell.NavBarIsVisible did not trigger an inset redispatch that cleared the AppBar top padding.   Exception stack traces:    at Microsoft.Maui.DeviceTests.AssertHelpers.AssertEventually(Func`1 assertion, Int32 timeout, Int32 interval, String message)
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.DeviceTests.ShellTests.<>c__DisplayClass17_0.<<HiddenShellNavigationBarClearsAppBarInsetPadding>b__0>d.MoveNext()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_1`1.<<CreateHandlerAndAddToWindow>b__1>d[[Microsoft.Maui.Controls.Handlers.Compatibility.ShellRenderer, Microsoft.Maui.Controls, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.Controls.Handlers.Compatibility.ShellRenderer, Microsoft.Maui.Controls, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.Controls.Handlers.Compatibility.ShellRenderer, Microsoft.Maui.Controls, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_0`1.<<CreateHandlerAndAddToWindow>b__0>d[[Microsoft.Maui.Controls.Handlers.Compatibility.ShellRenderer, Microsoft.Maui.Controls, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    at Microsoft.Maui.DeviceTests.ShellTests.HiddenShellNavigationBarClearsAppBarInsetPadding()
      07-05 21:04:49.597 11056 11369 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:04:49.597 11056 11369 I DOTNET  :    Execution time: 2.5715023
      07-05 21:04:49.597 11056 11369 I DOTNET  :    Test trait name: Category
      07-05 21:04:49.597 11056 11369 I DOTNET  :       value: Shell
      07-05 21:04:49.597 11056 11369 I DOTNET  :       value: Shell
      07-05 21:04:49.597 11056 11369 I DOTNET  :       value: Shell
      07-05 21:04:49.597 11056 11369 I DOTNET  :       value: Shell
      07-05 21:04:49.597 11056 11369 I DOTNET  :       value: Shell
      07-05 21:04:49.597 11056 11369 I DOTNET  : 
      07-05 21:04:51.795 11056 11378 I DOTNET  : 	[PASS] HideSoftInputOnTapped Doesn't Crash If Entry Is Still Focused After Window Is Null
      07-05 21:04:55.646 11056 11387 I DOTNET  : 	[PASS] Pages Do Not Leak
      07-05 21:04:56.011 11056 11392 I DOTNET  : 	[PASS] FlyoutHeaderRendersCorrectSizeWithFlyoutContentSet
      07-05 21:04:56.469 11056 11397 I DOTNET  : 	[PASS] Shell add then remove items from selected item
      07-05 21:05:00.762 11056 11403 I DOTNET  : 	[PASS] Shell TabBar Foreground Initializes Correctly
      07-05 21:05:05.044 11056 11409 I DOTNET  : 	[PASS] Shell TabBar Foreground Initializes Correctly
      07-05 21:05:06.050 11056 11417 I DOTNET  : 	[PASS] FlyoutHeaderMinimumHeight
      07-05 21:05:06.996 11056 11423 I DOTNET  : 	[PASS] FlyoutHeaderMinimumHeight
      07-05 21:05:07.902 11056 11429 I DOTNET  : 	[PASS] FlyoutHeaderMinimumHeight
      07-05 21:05:08.849 11056 11435 I DOTNET  : 	[PASS] FlyoutHeaderMinimumHeight
      07-05 21:05:09.181 11056 11440 I DOTNET  : 	[PASS] CanHideNavBarShadow
      07-05 21:05:09.512 11056 11445 I DOTNET  : 	[PASS] CanHideNavBarShadow
      07-05 21:05:13.797 11056 11453 I DOTNET  : 	[PASS] Shell TabBar Title Color Initializes Correctly
      07-05 21:05:18.099 11056 11459 I DOTNET  : 	[PASS] Shell TabBar Title Color Initializes Correctly
      07-05 21:05:18.394 11056 11464 I DOTNET  : 	[PASS] FlyoutItems Render When FlyoutBehavior Starts As Locked
      07-05 21:05:19.063 11056 11469 I DOTNET  : 	[PASS] TitleView Updates to Currently Visible Page
      07-05 21:05:19.822 11056 11474 I DOTNET  : 	[PASS] SwappingOutAndroidContextDoesntCrash
      07-05 21:05:21.648 11056 11479 I DOTNET  : 	[PASS] Pushing the Same Page Disconnects Previous Toolbar Items
      07-05 21:05:21.649 11056 11479 I DOTNET  : Microsoft.Maui.DeviceTests.ShellTests 82.7144645 ms
      07-05 21:05:21.711 11056 11077 I DOTNET  : Failed tests:
      07-05 21:05:21.712 11056 11077 I DOTNET  : 1) 	[FAIL] Hidden Shell navigation bar clears app bar inset padding   Test name: Hidden Shell navigation bar clears app bar inset padding
      07-05 21:05:21.712 11056 11077 I DOTNET  :    Assembly:  [Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]
      07-05 21:05:21.712 11056 11077 I DOTNET  :    Exception messages: Shell.NavBarIsVisible did not trigger an inset redispatch that cleared the AppBar top padding.   Exception stack traces:    at Microsoft.Maui.DeviceTests.AssertHelpers.AssertEventually(Func`1 assertion, Int32 timeout, Int32 interval, String message)
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.DeviceTests.ShellTests.<>c__DisplayClass17_0.<<HiddenShellNavigationBarClearsAppBarInsetPadding>b__0>d.MoveNext()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_1`1.<<CreateHandlerAndAddToWindow>b__1>d[[Microsoft.Maui.Controls.Handlers.Compatibility.ShellRenderer, Microsoft.Maui.Controls, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.Controls.Handlers.Compatibility.ShellRenderer, Microsoft.Maui.Controls, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass0_0`1.<<SetupWindowForTests>b__0>d[[Microsoft.Maui.Controls.Handlers.Compatibility.ShellRenderer, Microsoft.Maui.Controls, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass34_0`1.<<CreateHandlerAndAddToWindow>b__0>d[[Microsoft.Maui.Controls.Handlers.Compatibility.ShellRenderer, Microsoft.Maui.Controls, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]].MoveNext()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass2_0`1.<<DispatchAsync>b__0>d[[System.Boolean, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    at Microsoft.Maui.DeviceTests.ShellTests.HiddenShellNavigationBarClearsAppBarInsetPadding()
      07-05 21:05:21.712 11056 11077 I DOTNET  : --- End of stack trace from previous location ---
      07-05 21:05:21.712 11056 11077 I DOTNET  :    Execution time: 2.5715023
      07-05 21:05:21.712 11056 11077 I DOTNET  :    Test trait name: Category
      07-05 21:05:21.712 11056 11077 I DOTNET  :       value: Shell
      07-05 21:05:21.712 11056 11077 I DOTNET  :       value: Shell
      07-05 21:05:21.712 11056 11077 I DOTNET  :       value: Shell
      07-05 21:05:21.712 11056 11077 I DOTNET  :       value: Shell
      07-05 21:05:21.712 11056 11077 I DOTNET  :       value: Shell
      07-05 21:05:21.712 11056 11077 I DOTNET  : 
      07-05 21:05:21.732 11056 11077 I DOTNET  : Xml file was written to the provided writer.
      07-05 21:05:21.733 11056 11077 I DOTNET  : Tests run: 584 Passed: 69 Inconclusive: 0 Failed: 1 Ignored: 514
�[41m�[30mfail�[39m�[22m�[49m: Non-success instrumentation exit code: 1, expected: 0
�[40m�[32minfo�[39m�[22m�[49m: <<XHARNESS_RESULT_START>>
      {
        "version": 1,
        "machineName": "runnervm5lfqw",
        "exitCode": 1,
        "exitCodeName": "TESTS_FAILED",
        "platform": "android",
        "instrumentationExitCode": 1,
        "device": "emulator-5554",
        "deviceOsVersion": "API 30",
        "architecture": "x86_64",
        "files": [
          {
            "name": "testResults.xml",
            "type": "test-results"
          },
          {
            "name": "adb-logcat-com.microsoft.maui.controls.devicetests-default.log",
            "type": "logcat"
          }
        ]
      }
      <<XHARNESS_RESULT_END>>
�[40m�[32minfo�[39m�[22m�[49m: Attempting to remove apk 'com.microsoft.maui.controls.devicetests'..
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 uninstall com.microsoft.maui.controls.devicetests'
�[40m�[32minfo�[39m�[22m�[49m: Successfully uninstalled com.microsoft.maui.controls.devicetests
XHarness exit code: 1 (TESTS_FAILED)
  Tests completed with exit code: 1

🟢 With fix — 📱 ShellTests (HiddenShellNavigationBarClearsAppBarInsetPadding): PASS ✅ · 301s
(truncated to last 15,000 chars)


      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'RadioButton'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'RefreshView'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'ScrollView'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'SearchBar'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Shape'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Slider'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'SwipeView'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'TabbedPage'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'TextInput'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Toolbar'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'TemplatedView'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'View'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'VisualElement'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'VisualElementTree'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'WebView'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Window'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'WindowOverlay'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Xaml'): [Memory] VisualDiagnosticsOverlay Does Not Leak
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Accessibility'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Application'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Behavior'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Border'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'BoxView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Button'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'CarouselView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'CheckBox'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'CollectionView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Compatibility'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'ContentView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'DatePicker'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Dispatcher'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Editor'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Element'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Entry'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'FlexLayout'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'FlyoutPage'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.364 18808 18835 I DOTNET  : [FILTER] Included test (filtered by Trait; 'Category':'Frame'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
      07-05 21:39:27.381 18808 18835 I DOTNET  : [Test environment: 64-bit .NET .NET 10.0 [collection-per-class, non-parallel]]
      07-05 21:39:27.381 18808 18835 I DOTNET  : [Test framework: xUnit.net 2.9.0.0]
      07-05 21:39:27.394 18808 18835 I DOTNET  : Serialize test because it has to add itself to the main window
      07-05 21:39:27.822 18808 18845 I DOTNET  : 	[PASS] Can Clear ShellContent
      07-05 21:39:28.695 18808 18851 I DOTNET  : 	[PASS] FlyoutContentUpdatesAfterChange
      07-05 21:39:28.956 18808 18856 I DOTNET  : 	[PASS] Handlers not recreated when changing tabs
      07-05 21:39:29.431 18808 18861 I DOTNET  : 	[PASS] PageLayoutDoesNotExceedWindowBounds
      07-05 21:39:29.607 18808 18866 I DOTNET  : 	[PASS] Ensure Default Colors are White for BottomNavigationView
      07-05 21:39:29.861 18808 18871 I DOTNET  : 	[PASS] FooterTemplate Measures to Set Flyout Width When Flyout Locked
      07-05 21:39:30.752 18808 18879 I DOTNET  : 	[PASS] BasicShellNavigationStructurePermutations
      07-05 21:39:31.323 18808 18884 I DOTNET  : 	[PASS] BasicShellNavigationStructurePermutations
      07-05 21:39:31.899 18808 18912 I DOTNET  : 	[PASS] BasicShellNavigationStructurePermutations
      07-05 21:39:32.385 18808 18931 I DOTNET  : 	[PASS] BasicShellNavigationStructurePermutations
      07-05 21:39:32.714 18808 18936 I DOTNET  : 	[PASS] No crash going back using 'Shell.Current.GoToAsync("..")'
      07-05 21:39:35.041 18808 18954 I DOTNET  : 	[PASS] Can Reuse Pages
      07-05 21:39:36.891 18808 19012 I DOTNET  : 	[PASS] FlyoutCustomContentMargin
      07-05 21:39:38.603 18808 19081 I DOTNET  : 	[PASS] FlyoutCustomContentMargin
      07-05 21:39:40.549 18808 19107 I DOTNET  : 	[PASS] FlyoutCustomContentMargin
      07-05 21:39:41.076 18808 19112 I DOTNET  : 	[PASS] ChangingBottomTabAttributesDoesntRecreateBottomTabs
      07-05 21:39:42.002 18808 19118 I DOTNET  : 	[PASS] FlyoutIsPresented=true sets the visible status of the Shell Flyout.
      07-05 21:39:42.548 18808 19123 I DOTNET  : 	[PASS] ShellContentFragment.Destroy handles null _shellContext gracefully
      07-05 21:39:43.432 18808 19128 I DOTNET  : 	[PASS] Navigation Routes Correctly After Switching Flyout Items
      07-05 21:39:44.502 18808 19134 I DOTNET  : 	[PASS] Navigate to Root with BackButtonBehavior no Crash
      07-05 21:39:48.863 18808 19140 I DOTNET  : 	[PASS] Shell TabBar UnselectedColor Initializes Correctly
      07-05 21:39:53.177 18808 19148 I DOTNET  : 	[PASS] Shell TabBar UnselectedColor Initializes Correctly
      07-05 21:39:53.909 18808 19153 I DOTNET  : 	[PASS] Toolbar Title View Updates
      07-05 21:39:54.097 18808 19158 I DOTNET  : 	[PASS] Shell with Flyout Disabled Doesn't Render Flyout
      07-05 21:39:55.427 18808 19163 I DOTNET  : 	[PASS] Back Button Visibility Changes with push/pop
      07-05 21:39:56.158 18808 19168 I DOTNET  : 	[PASS] ChangingToNewMauiContextDoesntCrash
      07-05 21:39:56.311 18808 19173 I DOTNET  : 	[PASS] FlyoutContent Renderers When FlyoutBehavior Starts As Locked
      07-05 21:39:57.278 18808 19180 I DOTNET  : 	[PASS] Flyout Footer and Default Flyout Items Render
      07-05 21:39:57.513 18808 19185 I DOTNET  : 	[PASS] Toolbar Title
      07-05 21:39:57.905 18808 19191 I DOTNET  : 	[PASS] LogicalChildrenPropagateCorrectly
      07-05 21:39:58.694 18808 19196 I DOTNET  : 	[PASS] Set Has Back Button
      07-05 21:39:59.500 18808 19201 I DOTNET  : 	[PASS] Flyout Header Changes When Updated
      07-05 21:40:00.220 18808 19206 I DOTNET  : 	[PASS] Navigating During Navigated Doesnt ReFire Appearing
      07-05 21:40:01.014 18808 19211 I DOTNET  : 	[PASS] Toolbar Title Updates
      07-05 21:40:01.212 18808 19216 I DOTNET  : 	[PASS] Title View Measures
      07-05 21:40:01.454 18808 19221 I DOTNET  : 	[PASS] Flyout Width Does Not Crash
      07-05 21:40:04.495 18808 19226 I DOTNET  : 	[PASS] PopToRootAsync correctly navigates to root page
      07-05 21:40:08.794 18808 19233 I DOTNET  : 	[PASS] ForegroundColor sets icon and title color sets title
      07-05 21:40:09.408 18808 19238 I DOTNET  : 	[PASS] LifeCycleEvents Fire When Navigating Top Tabs
      07-05 21:40:09.594 18808 19243 I DOTNET  : 	[PASS] Appearing Fires Before NavigatedTo
      07-05 21:40:09.871 18808 19248 I DOTNET  : 	[PASS] Swap Shell Root Page for NavigationPage
      07-05 21:40:10.860 18808 19255 I DOTNET  : 	[PASS] FlyoutItemsRenderWhenFlyoutHeaderIsSet
      07-05 21:40:11.141 18808 19260 I DOTNET  : 	[PASS] AddingBottomTabDoesntRecreateMenu
      07-05 21:40:13.347 18808 19265 I DOTNET  : 	[PASS] Flyout Starts as Open correctly
      07-05 21:40:13.700 18808 19270 I DOTNET  : 	[PASS] FlyoutWithAsMultipleItemsRendersWithoutCrashing
      07-05 21:40:14.413 18808 19275 I DOTNET  : 	[PASS] Correctly Adjust to Making Currently Visible Shell Page Invisible
      07-05 21:40:14.678 18808 19280 I DOTNET  : 	[PASS] Empty Shell
      07-05 21:40:15.116 18808 19285 I DOTNET  : 	[PASS] SearchHandlerRendersCorrectly
      07-05 21:40:15.388 18808 19290 I DOTNET  : 	[PASS] RemovingBottomTabDoesntRecreateMenu
      07-05 21:40:15.849 18808 19295 I DOTNET  : 	[PASS] Hidden Shell navigation bar clears app bar inset padding
      07-05 21:40:18.322 18808 19304 I DOTNET  : 	[PASS] HideSoftInputOnTapped Doesn't Crash If Entry Is Still Focused After Window Is Null
      07-05 21:40:21.400 18808 19312 I DOTNET  : 	[PASS] Pages Do Not Leak
      07-05 21:40:21.694 18808 19317 I DOTNET  : 	[PASS] FlyoutHeaderRendersCorrectSizeWithFlyoutContentSet
      07-05 21:40:22.127 18808 19322 I DOTNET  : 	[PASS] Shell add then remove items from selected item
      07-05 21:40:26.371 18808 19335 I DOTNET  : 	[PASS] Shell TabBar Foreground Initializes Correctly
      07-05 21:40:30.663 18808 19341 I DOTNET  : 	[PASS] Shell TabBar Foreground Initializes Correctly
      07-05 21:40:31.554 18808 19349 I DOTNET  : 	[PASS] FlyoutHeaderMinimumHeight
      07-05 21:40:32.478 18808 19355 I DOTNET  : 	[PASS] FlyoutHeaderMinimumHeight
      07-05 21:40:33.342 18808 19361 I DOTNET  : 	[PASS] FlyoutHeaderMinimumHeight
      07-05 21:40:34.213 18808 19367 I DOTNET  : 	[PASS] FlyoutHeaderMinimumHeight
      07-05 21:40:34.545 18808 19372 I DOTNET  : 	[PASS] CanHideNavBarShadow
      07-05 21:40:34.852 18808 19377 I DOTNET  : 	[PASS] CanHideNavBarShadow
      07-05 21:40:39.128 18808 19383 I DOTNET  : 	[PASS] Shell TabBar Title Color Initializes Correctly
      07-05 21:40:43.394 18808 19391 I DOTNET  : 	[PASS] Shell TabBar Title Color Initializes Correctly
      07-05 21:40:43.694 18808 19396 I DOTNET  : 	[PASS] FlyoutItems Render When FlyoutBehavior Starts As Locked
      07-05 21:40:44.298 18808 19401 I DOTNET  : 	[PASS] TitleView Updates to Currently Visible Page
      07-05 21:40:45.003 18808 19406 I DOTNET  : 	[PASS] SwappingOutAndroidContextDoesntCrash
      07-05 21:40:46.941 18808 19411 I DOTNET  : 	[PASS] Pushing the Same Page Disconnects Previous Toolbar Items
      07-05 21:40:46.944 18808 19411 I DOTNET  : Microsoft.Maui.DeviceTests.ShellTests 78.6911689 ms
      07-05 21:40:46.948 18808 19411 I DOTNET  : Test collection for Microsoft.Maui.DeviceTests.AlertDialogTests
      07-05 21:40:47.032 18808 19411 I DOTNET  : 	[PASS] AlertDialogButtonColorDarkTheme
      07-05 21:40:47.071 18808 19411 I DOTNET  : 	[PASS] AlertDialogButtonColorLightTheme
      07-05 21:40:47.072 18808 19411 I DOTNET  : Microsoft.Maui.DeviceTests.AlertDialogTests 0.1220443 ms
      07-05 21:40:47.185 18808 18828 I DOTNET  : Xml file was written to the provided writer.
      07-05 21:40:47.186 18808 18828 I DOTNET  : Tests run: 584 Passed: 70 Inconclusive: 0 Failed: 0 Ignored: 514
�[40m�[32minfo�[39m�[22m�[49m: <<XHARNESS_RESULT_START>>
      {
        "version": 1,
        "machineName": "runnervm5lfqw",
        "exitCode": 0,
        "exitCodeName": "SUCCESS",
        "platform": "android",
        "instrumentationExitCode": 0,
        "device": "emulator-5554",
        "deviceOsVersion": "API 30",
        "architecture": "x86_64",
        "files": [
          {
            "name": "testResults.xml",
            "type": "test-results"
          },
          {
            "name": "adb-logcat-com.microsoft.maui.controls.devicetests-default.log",
            "type": "logcat"
          }
        ]
      }
      <<XHARNESS_RESULT_END>>
�[40m�[32minfo�[39m�[22m�[49m: Attempting to remove apk 'com.microsoft.maui.controls.devicetests'..
�[40m�[37mdbug�[39m�[22m�[49m: Executing command: '/home/vsts/.nuget/packages/microsoft.dotnet.xharness.cli/11.0.0-prerelease.26230.4/runtimes/any/native/adb/linux/adb -s emulator-5554 uninstall com.microsoft.maui.controls.devicetests'
�[40m�[32minfo�[39m�[22m�[49m: Successfully uninstalled com.microsoft.maui.controls.devicetests
XHarness exit code: 0
  Tests completed successfully

🔴 Without fix — 🖥️ Issue34472: FAIL ✅ · 596s

  Determining projects to restore...
  Restored /home/vsts/work/1/s/src/Essentials/src/Essentials.csproj (in 782 ms).
  Restored /home/vsts/work/1/s/src/Graphics/src/Graphics/Graphics.csproj (in 782 ms).
  Restored /home/vsts/work/1/s/src/Core/maps/src/Maps.csproj (in 168 ms).
  Restored /home/vsts/work/1/s/src/Core/src/Core.csproj (in 203 ms).
  Restored /home/vsts/work/1/s/src/Controls/src/Xaml/Controls.Xaml.csproj (in 52 ms).
  Restored /home/vsts/work/1/s/src/Controls/src/Core/Controls.Core.csproj (in 39 ms).
  Restored /home/vsts/work/1/s/src/Controls/src/BindingSourceGen/Controls.BindingSourceGen.csproj (in 51 ms).
  Restored /home/vsts/work/1/s/src/Controls/Maps/src/Controls.Maps.csproj (in 41 ms).
  Restored /home/vsts/work/1/s/src/Controls/Foldable/src/Controls.Foldable.csproj (in 658 ms).
  Restored /home/vsts/work/1/s/src/BlazorWebView/src/Maui/Microsoft.AspNetCore.Components.WebView.Maui.csproj (in 150 ms).
  Restored /home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj (in 1.32 sec).
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Graphics -> /home/vsts/work/1/s/artifacts/bin/Graphics/Debug/net10.0-android36.0/Microsoft.Maui.Graphics.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Essentials -> /home/vsts/work/1/s/artifacts/bin/Essentials/Debug/net10.0-android36.0/Microsoft.Maui.Essentials.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Core -> /home/vsts/work/1/s/artifacts/bin/Core/Debug/net10.0-android36.0/Microsoft.Maui.dll
  Controls.BindingSourceGen -> /home/vsts/work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Maps -> /home/vsts/work/1/s/artifacts/bin/Maps/Debug/net10.0-android36.0/Microsoft.Maui.Maps.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Core -> /home/vsts/work/1/s/artifacts/bin/Controls.Core/Debug/net10.0-android36.0/Microsoft.Maui.Controls.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Foldable -> /home/vsts/work/1/s/artifacts/bin/Controls.Foldable/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Foldable.dll
  Controls.Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.Maps/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Maps.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Xaml -> /home/vsts/work/1/s/artifacts/bin/Controls.Xaml/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Xaml.dll
  Microsoft.AspNetCore.Components.WebView.Maui -> /home/vsts/work/1/s/artifacts/bin/Microsoft.AspNetCore.Components.WebView.Maui/Debug/net10.0-android36.0/Microsoft.AspNetCore.Components.WebView.Maui.dll
  Controls.TestCases.HostApp -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Controls.TestCases.HostApp.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Graphics -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Graphics.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Essentials -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Essentials.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Core -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Maps.dll
  Controls.BindingSourceGen -> /home/vsts/work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Core -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Microsoft.AspNetCore.Components.WebView.Maui -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.AspNetCore.Components.WebView.Maui.dll
  Controls.Xaml -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Xaml.dll
  Controls.Foldable -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Foldable.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Maps.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:06:59.11
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
Starting: Intent { act=android.settings.SETTINGS }
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
  Determining projects to restore...
  Restored /home/vsts/work/1/s/src/Controls/tests/CustomAttributes/Controls.CustomAttributes.csproj (in 1.34 sec).
  Restored /home/vsts/work/1/s/src/TestUtils/src/VisualTestUtils/VisualTestUtils.csproj (in 41 ms).
  Restored /home/vsts/work/1/s/src/TestUtils/src/VisualTestUtils.MagickNet/VisualTestUtils.MagickNet.csproj (in 5.34 sec).
  Restored /home/vsts/work/1/s/src/Controls/tests/TestCases.Android.Tests/Controls.TestCases.Android.Tests.csproj (in 6.92 sec).
  Restored /home/vsts/work/1/s/src/TestUtils/src/UITest.Core/UITest.Core.csproj (in 2 ms).
  Restored /home/vsts/work/1/s/src/TestUtils/src/UITest.Appium/UITest.Appium.csproj (in 3 ms).
  Restored /home/vsts/work/1/s/src/TestUtils/src/UITest.NUnit/UITest.NUnit.csproj (in 398 ms).
  Restored /home/vsts/work/1/s/src/TestUtils/src/UITest.Analyzers/UITest.Analyzers.csproj (in 1.87 sec).
  5 of 13 projects are up-to-date for restore.
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Graphics -> /home/vsts/work/1/s/artifacts/bin/Graphics/Debug/net10.0/Microsoft.Maui.Graphics.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Essentials -> /home/vsts/work/1/s/artifacts/bin/Essentials/Debug/net10.0/Microsoft.Maui.Essentials.dll
  Controls.CustomAttributes -> /home/vsts/work/1/s/artifacts/bin/Controls.CustomAttributes/Debug/net10.0/Controls.CustomAttributes.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Core -> /home/vsts/work/1/s/artifacts/bin/Core/Debug/net10.0/Microsoft.Maui.dll
  Controls.BindingSourceGen -> /home/vsts/work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Core -> /home/vsts/work/1/s/artifacts/bin/Controls.Core/Debug/net10.0/Microsoft.Maui.Controls.dll
  UITest.Core -> /home/vsts/work/1/s/artifacts/bin/UITest.Core/Debug/net10.0/UITest.Core.dll
  UITest.NUnit -> /home/vsts/work/1/s/artifacts/bin/UITest.NUnit/Debug/net10.0/UITest.NUnit.dll
  UITest.Appium -> /home/vsts/work/1/s/artifacts/bin/UITest.Appium/Debug/net10.0/UITest.Appium.dll
  VisualTestUtils -> /home/vsts/work/1/s/artifacts/bin/VisualTestUtils/Debug/netstandard2.0/VisualTestUtils.dll
  VisualTestUtils.MagickNet -> /home/vsts/work/1/s/artifacts/bin/VisualTestUtils.MagickNet/Debug/netstandard2.0/VisualTestUtils.MagickNet.dll
  UITest.Analyzers -> /home/vsts/work/1/s/artifacts/bin/UITest.Analyzers/Debug/netstandard2.0/UITest.Analyzers.dll
  Controls.TestCases.Android.Tests -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.Android.Tests/Debug/net10.0/Controls.TestCases.Android.Tests.dll
Test run for /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.Android.Tests/Debug/net10.0/Controls.TestCases.Android.Tests.dll (.NETCoreApp,Version=v10.0)
VSTest version 18.0.1 (x64)

Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
NUnit Adapter 4.5.0.0: Test execution started
Running selected tests in /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.Android.Tests/Debug/net10.0/Controls.TestCases.Android.Tests.dll
   NUnit3TestExecutor discovered 1 of 1 NUnit test cases using Current Discovery mode, Non-Explicit run
>>>>> 07/05/2026 21:15:09 FixtureSetup for Issue34472(Android)
>>>>> 07/05/2026 21:15:11 SafeAreaEdgesNoneRespectedInNavigationPage Start
>>>>> 07/05/2026 21:15:19 SafeAreaEdgesNoneRespectedInNavigationPage Stop
>>>>> 07/05/2026 21:15:19 Log types: logcat, bugreport, server
  Failed SafeAreaEdgesNoneRespectedInNavigationPage [8 s]
  Error Message:
     ContentBorder Y should be the same whether pushed (69) or set as main page (6).
Assert.That(pushedBorderRect.Y, Is.EqualTo(mainPageBorderRect.Y).Within(5))
  Expected: 6 +/- 5
  But was:  69
  Off by:   -63.0d

  Stack Trace:
     at Microsoft.Maui.TestCases.Tests.Issues.Issue34472.SafeAreaEdgesNoneRespectedInNavigationPage() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue34472.cs:line 37

1)    at Microsoft.Maui.TestCases.Tests.Issues.Issue34472.SafeAreaEdgesNoneRespectedInNavigationPage() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/Issue34472.cs:line 37


NUnit Adapter 4.5.0.0: Test execution complete
[xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v2.8.2+699d445a1a (64-bit .NET 10.0.0)
[xUnit.net 00:00:00.13]   Discovering: Controls.TestCases.Android.Tests
[xUnit.net 00:00:00.61]   Discovered:  Controls.TestCases.Android.Tests
Results File: /home/vsts/work/1/s/CustomAgentLogsTmp/UITests/TestResults/Issue34472.trx

Total tests: 1
     Failed: 1
Test Run Failed.
 Total time: 31.8189 Seconds
>>> TRX_RESULT_FILE: /home/vsts/work/1/s/CustomAgentLogsTmp/UITests/TestResults/Issue34472.trx

🟢 With fix — 🖥️ Issue34472: PASS ✅ · 575s

  Determining projects to restore...
  Restored /home/vsts/work/1/s/src/Graphics/src/Graphics/Graphics.csproj (in 832 ms).
  Restored /home/vsts/work/1/s/src/Essentials/src/Essentials.csproj (in 832 ms).
  Restored /home/vsts/work/1/s/src/Core/maps/src/Maps.csproj (in 157 ms).
  Restored /home/vsts/work/1/s/src/Core/src/Core.csproj (in 191 ms).
  Restored /home/vsts/work/1/s/src/Controls/src/Core/Controls.Core.csproj (in 50 ms).
  Restored /home/vsts/work/1/s/src/Controls/src/Xaml/Controls.Xaml.csproj (in 66 ms).
  Restored /home/vsts/work/1/s/src/Controls/src/BindingSourceGen/Controls.BindingSourceGen.csproj (in 28 ms).
  Restored /home/vsts/work/1/s/src/Controls/Maps/src/Controls.Maps.csproj (in 38 ms).
  3 of 11 projects are up-to-date for restore.
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Graphics -> /home/vsts/work/1/s/artifacts/bin/Graphics/Debug/net10.0-android36.0/Microsoft.Maui.Graphics.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Essentials -> /home/vsts/work/1/s/artifacts/bin/Essentials/Debug/net10.0-android36.0/Microsoft.Maui.Essentials.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Core -> /home/vsts/work/1/s/artifacts/bin/Core/Debug/net10.0-android36.0/Microsoft.Maui.dll
  Controls.BindingSourceGen -> /home/vsts/work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Maps -> /home/vsts/work/1/s/artifacts/bin/Maps/Debug/net10.0-android36.0/Microsoft.Maui.Maps.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Core -> /home/vsts/work/1/s/artifacts/bin/Controls.Core/Debug/net10.0-android36.0/Microsoft.Maui.Controls.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Microsoft.AspNetCore.Components.WebView.Maui -> /home/vsts/work/1/s/artifacts/bin/Microsoft.AspNetCore.Components.WebView.Maui/Debug/net10.0-android36.0/Microsoft.AspNetCore.Components.WebView.Maui.dll
  Controls.Foldable -> /home/vsts/work/1/s/artifacts/bin/Controls.Foldable/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Foldable.dll
  Controls.Xaml -> /home/vsts/work/1/s/artifacts/bin/Controls.Xaml/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Xaml.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.Maps/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Maps.dll
  Controls.TestCases.HostApp -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Controls.TestCases.HostApp.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Graphics -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Graphics.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Essentials -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Essentials.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Core -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.dll
  Controls.BindingSourceGen -> /home/vsts/work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Maps.dll
  Controls.Core -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Maps.dll
  Microsoft.AspNetCore.Components.WebView.Maui -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.AspNetCore.Components.WebView.Maui.dll
  Controls.Foldable -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Foldable.dll
  Controls.Xaml -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Xaml.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:07:09.00
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
Starting: Intent { act=android.settings.SETTINGS }
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
  Determining projects to restore...
  All projects are up-to-date for restore.
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Graphics -> /home/vsts/work/1/s/artifacts/bin/Graphics/Debug/net10.0/Microsoft.Maui.Graphics.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Essentials -> /home/vsts/work/1/s/artifacts/bin/Essentials/Debug/net10.0/Microsoft.Maui.Essentials.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Core -> /home/vsts/work/1/s/artifacts/bin/Core/Debug/net10.0/Microsoft.Maui.dll
  Controls.CustomAttributes -> /home/vsts/work/1/s/artifacts/bin/Controls.CustomAttributes/Debug/net10.0/Controls.CustomAttributes.dll
  Controls.BindingSourceGen -> /home/vsts/work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
  ##vso[build.updatebuildnumber]10.0.90-ci+azdo.14572615
  Controls.Core -> /home/vsts/work/1/s/artifacts/bin/Controls.Core/Debug/net10.0/Microsoft.Maui.Controls.dll
  VisualTestUtils -> /home/vsts/work/1/s/artifacts/bin/VisualTestUtils/Debug/netstandard2.0/VisualTestUtils.dll
  UITest.Core -> /home/vsts/work/1/s/artifacts/bin/UITest.Core/Debug/net10.0/UITest.Core.dll
  VisualTestUtils.MagickNet -> /home/vsts/work/1/s/artifacts/bin/VisualTestUtils.MagickNet/Debug/netstandard2.0/VisualTestUtils.MagickNet.dll
  UITest.NUnit -> /home/vsts/work/1/s/artifacts/bin/UITest.NUnit/Debug/net10.0/UITest.NUnit.dll
  UITest.Appium -> /home/vsts/work/1/s/artifacts/bin/UITest.Appium/Debug/net10.0/UITest.Appium.dll
  UITest.Analyzers -> /home/vsts/work/1/s/artifacts/bin/UITest.Analyzers/Debug/netstandard2.0/UITest.Analyzers.dll
  Controls.TestCases.Android.Tests -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.Android.Tests/Debug/net10.0/Controls.TestCases.Android.Tests.dll
Test run for /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.Android.Tests/Debug/net10.0/Controls.TestCases.Android.Tests.dll (.NETCoreApp,Version=v10.0)
VSTest version 18.0.1 (x64)

Starting test execution, please wait...
A total of 1 test files matched the specified pattern.
NUnit Adapter 4.5.0.0: Test execution started
Running selected tests in /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.Android.Tests/Debug/net10.0/Controls.TestCases.Android.Tests.dll
   NUnit3TestExecutor discovered 1 of 1 NUnit test cases using Current Discovery mode, Non-Explicit run
>>>>> 07/05/2026 21:50:14 FixtureSetup for Issue34472(Android)
>>>>> 07/05/2026 21:50:16 SafeAreaEdgesNoneRespectedInNavigationPage Start
>>>>> 07/05/2026 21:50:23 SafeAreaEdgesNoneRespectedInNavigationPage Stop
  Passed SafeAreaEdgesNoneRespectedInNavigationPage [6 s]
NUnit Adapter 4.5.0.0: Test execution complete
[xUnit.net 00:00:00.00] xUnit.net VSTest Adapter v2.8.2+699d445a1a (64-bit .NET 10.0.0)
[xUnit.net 00:00:00.15]   Discovering: Controls.TestCases.Android.Tests
[xUnit.net 00:00:00.59]   Discovered:  Controls.TestCases.Android.Tests
Results File: /home/vsts/work/1/s/CustomAgentLogsTmp/UITests/TestResults/Issue34472.trx

Test Run Successful.
Total tests: 1
     Passed: 1
 Total time: 22.0040 Seconds
>>> TRX_RESULT_FILE: /home/vsts/work/1/s/CustomAgentLogsTmp/UITests/TestResults/Issue34472.trx

📁 Fix files reverted (1 files)

  • src/Controls/src/Core/Platform/Android/Extensions/ToolbarExtensions.cs

📱 UI Tests — SafeAreaEdges,Shell

Detected UI test categories: SafeAreaEdges,Shell

✅ Deep UI tests — 368 passed, 0 failed across 2 categories on platform-pool agent (replaces in-process counts above).

🧪 UI Test Execution Results (deep, platform pool)

Category Tests Snapshot diffs
SafeAreaEdges 61/61 ✓ —
Shell 307/307 ✓ —
📎 Download drop-deep-uitests artifact (TRX + snapshot diffs)
📋 Pre-Flight — Context & Validation

Issue: #35103 - wrong statusbar height when Android device has a notch; #34472 - [Android] Top SafeAreaEdge isn't respected when the page is pushed to a NavigationPage PR: #36072 - [Android] Fix blank gap when HasNavigationBar=false with SafeAreaEdges=None Platforms Affected: Android Files Changed: 1 implementation, 8 test

Key Findings

  • The linked issues describe Android-only safe-area/top-inset behavior: hidden Shell or NavigationPage navigation bars can leave a blank gap near the status bar/cutout, especially on notched devices or pushed NavigationPage pages using SafeAreaEdges=None.
  • PR [Android] Fix blank gap when HasNavigationBar=false with SafeAreaEdges=None #36072 fixes the gap by clearing the parent AppBarLayout padding inside ToolbarExtensions.UpdateIsVisible when toolbar.IsVisible is false, and adds NavigationPage, Shell, UI issue, and Android snapshot coverage.
  • Prior inline review comments flagged test flakiness risks: both new device tests attach/use toolbar/root/appbar objects before all null/readiness checks.
  • Code review found the implementation fix may over-clear parent AppBarLayout padding and fail to restore it on hide-to-show or Shell top-tab scenarios because the request is dispatched to the MaterialToolbar, not the root/appbar path.

Code Review Summary

Verdict: NEEDS_CHANGES Confidence: low Errors: 1 | Warnings: 0 | Suggestions: 0

Key code review findings:

  • ✗ src/Controls/src/Core/Platform/Android/Extensions/ToolbarExtensions.cs:51 — Clearing the parent AppBarLayout padding whenever the toolbar is hidden can leave visible app-bar content without a top inset; the following RequestApplyInsets(nativeToolbar) hits the MaterialToolbar branch and does not restore parent app-bar padding.

Fix Candidates

Source Approach Test Result Files Changed Notes

PR PR #36072 Clear stale parent AppBarLayout padding in ToolbarExtensions.UpdateIsVisible when the toolbar is hidden. ✅ PASSED (Gate) ToolbarExtensions.cs + tests Original PR; gate result supplied by caller.
🔬 Code Review — Deep Analysis

Code Review — PR #36072

Independent Assessment

What this changes: Android toolbar visibility now clears the parent AppBarLayout padding when the toolbar is hidden, plus adds Android device/UI regression tests. Inferred motivation: Prevent stale top inset padding from leaving a blank gap when HasNavigationBar=false.

Reconciliation with PR Narrative

Author claims: Clearing AppBarLayout padding lets the app bar collapse and later RequestApplyInsets restores padding when shown. Agreement/disagreement: The collapse fix is plausible for the hidden single-toolbar case. I disagree that the re-show/other-content path is safe.

Prior Review Reconciliation

No prior ❌ Error findings found.

Blast Radius Assessment

  • Runs for all instances: Yes — every Android MAUI toolbar visibility update.
  • Startup impact: No.
  • Static/shared state: No.

CI Status

  • Required-check result: gh pr checks --required unavailable due missing auth; public fallback shows maui-pr pass, but maui-pr-uitests, maui-pr-devicetests, and Build Analysis failing.
  • Classification: undetermined; Android device tests passed, failures appear broad/non-local, but not fully classified.
  • Action taken: invoked azdo-build-investigator; confidence capped low.

Findings

❌ Error — Clearing AppBar padding can leave visible app-bar content without top inset

src/Controls/src/Core/Platform/Android/Extensions/ToolbarExtensions.cs:51

This clears the whole parent AppBarLayout whenever the toolbar is hidden, but the only following inset request is on nativeToolbar (RequestApplyInsets(nativeToolbar)). MauiWindowInsetListener restores AppBarLayout padding only when invoked on the root/app-bar path; when invoked for MaterialToolbar, it takes the early toolbar branch and does not update the parent app bar.

That means after hiding then showing the navigation bar again, the visible toolbar can remain with AppBarLayout.PaddingTop == 0 until some external root inset dispatch happens. It also risks Shell top-tab scenarios where the toolbar is hidden but the TabLayout remains visible in the same AppBarLayout; clearing parent padding can place those tabs under the status/cutout area.

Please either redispatch insets on the root/app bar at the right time, or only clear the padding when the app bar truly has no other visible/measured content, and add coverage for hide→show and Shell multi-top-tab cases.

Failure-Mode Probing

  • Hide then re-show navbar: padding cleared on hide; toolbar-level inset request does not restore parent app-bar padding.
  • Shell with multiple top tabs and hidden nav bar: TabLayout visibility is independent of toolbar visibility, so clearing parent padding can affect still-visible app-bar content.
  • Single hidden NavigationPage toolbar: the intended gap fix appears valid.

Verdict: NEEDS_CHANGES

Confidence: low Summary: The fix addresses the reported hidden-toolbar gap, but it introduces a likely Android app-bar inset regression for re-show and Shell top-tab scenarios. CI is also not clean/fully classifiable from available authenticated tooling.

🛠️ Fix — Analysis & Comparison

Fix Candidates

Source Approach Test Result Files Changed Notes

1 try-fix-1 Move AppBar stale-padding/content detection into MauiWindowInsetListener; request inset recalculation from the containing CoordinatorLayout instead of clearing parent AppBar padding in ToolbarExtensions. ✅ PASS 2 files Passed targeted Android NavigationPage and Shell Controls device-test categories. Demonstrably better than PR fix because AppBar padding ownership stays in the inset listener and avoids over-clearing when other AppBar content remains visible or when the nav bar is shown again.
PR PR #36072 Clear parent AppBarLayout padding directly from ToolbarExtensions.UpdateIsVisible when the toolbar is hidden. ✅ PASSED (Gate) 1 implementation file + tests Original PR; gate result supplied by caller. Code review found hide→show and Shell top-tab/other-AppBar-content risk.

Cross-Pollination

Model Round New Ideas? Details
gpt-5.5 / maui-expert-reviewer 1 Yes Candidate 1: base AppBar inset consumption on effective visible AppBar children instead of stale parent MeasuredHeight, and redispatch insets through the root CoordinatorLayout.
Remaining models 1 Not run Stopped early because Candidate 1 passed all targeted regression tests and is demonstrably better than the PR's current padding-clearing fix.
Exhausted: No Selected Fix: Candidate #1 — It passed targeted Android NavigationPage and Shell device tests and addresses the code-review failure mode by fixing the root AppBar content heuristic rather than clearing parent padding from toolbar visibility updates.

📝 Recommended PR Title & Description

Assessment: ✏️ Recommend updating — the current title/description accurately describe the raw PR fix, but the winning fix moves the change to root AppBar inset detection/redispatch rather than clearing AppBarLayout padding in ToolbarExtensions.

Recommended title

[Android] SafeArea: Fix hidden navigation bar AppBar inset handling

Recommended description

### Root Cause
When `NavigationPage.HasNavigationBar` is set to `false`, `ToolbarExtensions.UpdateIsVisible` collapses the toolbar height to `0`. However, the `AppBarLayout` parent can retain stale top padding from a previous inset dispatch — for example, `159px` from the status bar/cutout.

Even with toolbar height `0`, `AppBarLayout.MeasuredHeight` can remain non-zero because it is driven by padding alone. `MauiWindowInsetListener` used `MeasuredHeight > 0` to determine whether the AppBar had content. Since it treated padding-only height as content, it consumed the top system inset and the inset never reached `SafeAreaExtensions` downstream.

The result was a blank gap at the top of the screen equal to the status bar height — visible on both `NavigationPage` (when a page is pushed with the nav bar hidden) and `Shell` (when the navigation bar is hidden at runtime).

### Description of Change
Updates Android AppBar inset handling so stale padding-only height is not treated as visible AppBar content.

The fix keeps AppBar padding ownership inside `MauiWindowInsetListener`:

* `MauiWindowInsetListener` now determines AppBar content from visible, non-zero-height AppBar children instead of parent `AppBarLayout.MeasuredHeight`, so a collapsed toolbar with only stale padding no longer consumes the top inset.
* `ToolbarExtensions.UpdateIsVisible` requests inset recalculation from the containing `CoordinatorLayout` when available, falling back to the toolbar, so hide/show transitions run through the root inset path that owns AppBar padding.

This allows `SafeAreaEdges=None` to be fully respected with no blank gap while preserving top inset padding when other AppBar content remains visible.

Two new device tests pin the fix for both affected paths:

* `PushingToPageWithoutNavigationBarClearsAppBarInsetPadding` for the `NavigationPage` scenario
* `HiddenShellNavigationBarClearsAppBarInsetPadding` for the `Shell` scenario

The HostApp/UI regression test for issue #34472 verifies that content starts at the same Y position whether the page is pushed onto a `NavigationPage` stack or set as the main page.

These tests were adopted from open contributor PR #35555.

### Issues Fixed
Fixes #35103
Fixes #34472

Tested the behaviour in the following platforms
- [x] Android
- [ ] Windows
- [ ] iOS
- [ ] Mac

### Screenshots
| Before Issue Fix | After Issue Fix |
|------------------|-----------------|
| <video width="350" alt="withoutfix" src="https://github.com/user-attachments/assets/ce6064b7-6a8e-47af-a2c7-3259f71af379" /> | <video width="350" alt="withfix" src="https://github.com/user-attachments/assets/67c5821b-8057-4048-9e05-e0c508f67ae5" /> |

🏁 Report — Final Recommendation

Comparative Analysis — PR #36072

Candidates

Rank Candidate Regression tests Review result Assessment
1 try-fix-1 ✅ Passed targeted Android NavigationPage and Shell device-test categories ✅ Self-review had 0 findings Best root-cause fix. It ignores stale padding-only AppBar height in MauiWindowInsetListener and requests inset recalculation through the root CoordinatorLayout, so AppBar padding remains owned by the inset listener.
2 pr-plus-reviewer ✅ Inherits the same targeted-test evidence as the applied reviewer-feedback shape ✅ Addresses expert reviewer finding Conceptually equivalent to try-fix-1, but exists as a review-derived sandbox candidate rather than the independently tested STEP 5a candidate.
3 pr ✅ Supplied gate passed ❌ Expert reviewer found 1 major issue Fixes the reproduced blank-gap scenario, but unconditionally clears parent AppBarLayout padding from toolbar visibility updates and can regress Shell top-tab/other-AppBar-content cases.

Winning candidate

Winner: try-fix-1

try-fix-1 is the strongest candidate because it passed the targeted Android NavigationPage and Shell regression categories and fixes the actual AppBar content heuristic instead of clearing parent padding from ToolbarExtensions. The raw PR fix passed the gate, but the expert reviewer confirmed a major failure mode where visible AppBar content can lose top inset padding. pr-plus-reviewer addresses the same issue, but it is effectively the reviewer-applied form of try-fix-1; the independently tested try-fix candidate is the safer selection.

Rationale

Candidates that passed regression tests are ranked above any failing candidates. All known candidates passed their supplied or targeted regression checks, so the deciding factor is correctness under broader Android AppBar/Shell failure modes. The direct PR fix is too narrow because it mutates parent AppBar padding from a toolbar visibility mapper. The winning fix keeps padding decisions centralized in MauiWindowInsetListener, where AppBar content and inset consumption are already coordinated.

🧭 Next Steps — alternative fix proposed (try-fix-1)

Automated review — alternative fix proposed

The expert-reviewer evaluation compared the PR fix against automatically generated candidates and selected try-fix-1 as the strongest fix.

Why: try-fix-1 passed the targeted Android NavigationPage and Shell regression tests and fixes the root AppBar inset heuristic instead of clearing parent AppBar padding from ToolbarExtensions. The PR fix passed the supplied gate but retains a major Shell/AppBar-content regression risk confirmed by the expert reviewer.

Please consider applying the candidate diff below (or use it as guidance). Once you push an update, this workflow will re-trigger and re-evaluate.

Candidate diff (try-fix-1)

Regarding try-fix-1: The  RequestApplyInsets(rootCoordinatorLayout)  change it introduces was evaluated during development and caused a race condition — insets dispatched from the root CoordinatorLayout arrive before the layout pass completes, producing incorrect padding during animation. Our single-line fix in  ToolbarExtensions  is narrower, avoids that race, and is validated across 32 SafeAreaEdges tests, 307 Shell UI tests, and the full regression suite.

@kubaflo
kubaflo merged commit 31ac4c9 into dotnet:inflight/current Jul 8, 2026
4 of 36 checks passed
@github-actions github-actions Bot added this to the .NET 10 SR9 milestone Jul 8, 2026
kubaflo pushed a commit that referenced this pull request Jul 10, 2026
…s=None (#36072)

<!-- Please let the below note in for people that find this PR -->
   > [!NOTE]
   > Are you waiting for the changes in this PR to be merged?
> It would be very helpful if you could [test the resulting
artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from
this PR and let us know in a comment if this change resolves your issue.
  Thank you!
 
### Root Cause
When `NavigationPage.HasNavigationBar` is set to `false`,
`ToolbarExtensions.UpdateIsVisible` collapses the toolbar height to `0`.
However, the `AppBarLayout` parent retains stale top padding from a
previous inset dispatch — for example, `159px` from the status
bar/cutout.

Even with toolbar height `0`, `AppBarLayout.MeasuredHeight` remains at
`159px` because it is driven by padding alone. `MauiWindowInsetListener`
checks `MeasuredHeight > 0` to determine whether the AppBar has content.
Since it sees `159 > 0`, it treats the AppBar as having content,
consumes the top system inset, and the inset never reaches
`SafeAreaExtensions` downstream.

The result is a blank gap at the top of the screen equal to the status
bar height — visible on both `NavigationPage` (when a page is pushed
with the nav bar hidden) and `Shell` (when the navigation bar is hidden
at runtime).

### Description of Change
A single line is added to `ToolbarExtensions.UpdateIsVisible` in the
`!showNavBar` branch to call `SetPadding(0, 0, 0, 0)` on the
`AppBarLayout`.

This clears the stale padding so `MeasuredHeight` collapses to `0`. The
inset listener then correctly identifies the AppBar as having no
content, passes the top inset downstream, and `SafeAreaEdges=None` is
fully respected with no blank gap.

The re-show path is safe — `RequestApplyInsets` is called in both
branches of `UpdateIsVisible`, so the next inset dispatch naturally
restores the correct padding when the nav bar is shown again.

Parent traversal uses
`nativeToolbar.Parent?.GetParentOfType<AppBarLayout>()` — the
established MAUI pattern used in `ShellToolbarTracker.cs`.

Two new device tests pin the fix for both affected paths:

* `PushingToPageWithoutNavigationBarClearsAppBarInsetPadding` for the
`NavigationPage` scenario
* `HiddenShellNavigationBarClearsAppBarInsetPadding` for the `Shell`
scenario
These tests were adopted from open contributor PR #35555 .
 
### Issues Fixed
Fixes #35103 
Fixes #34472 
 
Tested the behaviour in the following platforms
- [x] Android
- [ ] Windows
- [ ] iOS
- [ ] Mac

### Screenshots
| Before Issue Fix | After Issue Fix |
|------------------|-----------------|
| <video width="350" alt="withoutfix"
src="https://github.com/user-attachments/assets/ce6064b7-6a8e-47af-a2c7-3259f71af379"
/> | <video width="350" alt="withfix"
src="https://github.com/user-attachments/assets/67c5821b-8057-4048-9e05-e0c508f67ae5"
/> |
kubaflo pushed a commit that referenced this pull request Jul 15, 2026
…s=None (#36072)

<!-- Please let the below note in for people that find this PR -->
   > [!NOTE]
   > Are you waiting for the changes in this PR to be merged?
> It would be very helpful if you could [test the resulting
artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from
this PR and let us know in a comment if this change resolves your issue.
  Thank you!
 
### Root Cause
When `NavigationPage.HasNavigationBar` is set to `false`,
`ToolbarExtensions.UpdateIsVisible` collapses the toolbar height to `0`.
However, the `AppBarLayout` parent retains stale top padding from a
previous inset dispatch — for example, `159px` from the status
bar/cutout.

Even with toolbar height `0`, `AppBarLayout.MeasuredHeight` remains at
`159px` because it is driven by padding alone. `MauiWindowInsetListener`
checks `MeasuredHeight > 0` to determine whether the AppBar has content.
Since it sees `159 > 0`, it treats the AppBar as having content,
consumes the top system inset, and the inset never reaches
`SafeAreaExtensions` downstream.

The result is a blank gap at the top of the screen equal to the status
bar height — visible on both `NavigationPage` (when a page is pushed
with the nav bar hidden) and `Shell` (when the navigation bar is hidden
at runtime).

### Description of Change
A single line is added to `ToolbarExtensions.UpdateIsVisible` in the
`!showNavBar` branch to call `SetPadding(0, 0, 0, 0)` on the
`AppBarLayout`.

This clears the stale padding so `MeasuredHeight` collapses to `0`. The
inset listener then correctly identifies the AppBar as having no
content, passes the top inset downstream, and `SafeAreaEdges=None` is
fully respected with no blank gap.

The re-show path is safe — `RequestApplyInsets` is called in both
branches of `UpdateIsVisible`, so the next inset dispatch naturally
restores the correct padding when the nav bar is shown again.

Parent traversal uses
`nativeToolbar.Parent?.GetParentOfType<AppBarLayout>()` — the
established MAUI pattern used in `ShellToolbarTracker.cs`.

Two new device tests pin the fix for both affected paths:

* `PushingToPageWithoutNavigationBarClearsAppBarInsetPadding` for the
`NavigationPage` scenario
* `HiddenShellNavigationBarClearsAppBarInsetPadding` for the `Shell`
scenario
These tests were adopted from open contributor PR #35555 .
 
### Issues Fixed
Fixes #35103 
Fixes #34472 
 
Tested the behaviour in the following platforms
- [x] Android
- [ ] Windows
- [ ] iOS
- [ ] Mac

### Screenshots
| Before Issue Fix | After Issue Fix |
|------------------|-----------------|
| <video width="350" alt="withoutfix"
src="https://github.com/user-attachments/assets/ce6064b7-6a8e-47af-a2c7-3259f71af379"
/> | <video width="350" alt="withfix"
src="https://github.com/user-attachments/assets/67c5821b-8057-4048-9e05-e0c508f67ae5"
/> |
kubaflo pushed a commit that referenced this pull request Jul 22, 2026
…s=None (#36072)

<!-- Please let the below note in for people that find this PR -->
   > [!NOTE]
   > Are you waiting for the changes in this PR to be merged?
> It would be very helpful if you could [test the resulting
artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from
this PR and let us know in a comment if this change resolves your issue.
  Thank you!
 
### Root Cause
When `NavigationPage.HasNavigationBar` is set to `false`,
`ToolbarExtensions.UpdateIsVisible` collapses the toolbar height to `0`.
However, the `AppBarLayout` parent retains stale top padding from a
previous inset dispatch — for example, `159px` from the status
bar/cutout.

Even with toolbar height `0`, `AppBarLayout.MeasuredHeight` remains at
`159px` because it is driven by padding alone. `MauiWindowInsetListener`
checks `MeasuredHeight > 0` to determine whether the AppBar has content.
Since it sees `159 > 0`, it treats the AppBar as having content,
consumes the top system inset, and the inset never reaches
`SafeAreaExtensions` downstream.

The result is a blank gap at the top of the screen equal to the status
bar height — visible on both `NavigationPage` (when a page is pushed
with the nav bar hidden) and `Shell` (when the navigation bar is hidden
at runtime).

### Description of Change
A single line is added to `ToolbarExtensions.UpdateIsVisible` in the
`!showNavBar` branch to call `SetPadding(0, 0, 0, 0)` on the
`AppBarLayout`.

This clears the stale padding so `MeasuredHeight` collapses to `0`. The
inset listener then correctly identifies the AppBar as having no
content, passes the top inset downstream, and `SafeAreaEdges=None` is
fully respected with no blank gap.

The re-show path is safe — `RequestApplyInsets` is called in both
branches of `UpdateIsVisible`, so the next inset dispatch naturally
restores the correct padding when the nav bar is shown again.

Parent traversal uses
`nativeToolbar.Parent?.GetParentOfType<AppBarLayout>()` — the
established MAUI pattern used in `ShellToolbarTracker.cs`.

Two new device tests pin the fix for both affected paths:

* `PushingToPageWithoutNavigationBarClearsAppBarInsetPadding` for the
`NavigationPage` scenario
* `HiddenShellNavigationBarClearsAppBarInsetPadding` for the `Shell`
scenario
These tests were adopted from open contributor PR #35555 .
 
### Issues Fixed
Fixes #35103 
Fixes #34472 
 
Tested the behaviour in the following platforms
- [x] Android
- [ ] Windows
- [ ] iOS
- [ ] Mac

### Screenshots
| Before Issue Fix | After Issue Fix |
|------------------|-----------------|
| <video width="350" alt="withoutfix"
src="https://github.com/user-attachments/assets/ce6064b7-6a8e-47af-a2c7-3259f71af379"
/> | <video width="350" alt="withfix"
src="https://github.com/user-attachments/assets/67c5821b-8057-4048-9e05-e0c508f67ae5"
/> |
kubaflo pushed a commit that referenced this pull request Jul 28, 2026
…s=None (#36072)

<!-- Please let the below note in for people that find this PR -->
   > [!NOTE]
   > Are you waiting for the changes in this PR to be merged?
> It would be very helpful if you could [test the resulting
artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from
this PR and let us know in a comment if this change resolves your issue.
  Thank you!
 
### Root Cause
When `NavigationPage.HasNavigationBar` is set to `false`,
`ToolbarExtensions.UpdateIsVisible` collapses the toolbar height to `0`.
However, the `AppBarLayout` parent retains stale top padding from a
previous inset dispatch — for example, `159px` from the status
bar/cutout.

Even with toolbar height `0`, `AppBarLayout.MeasuredHeight` remains at
`159px` because it is driven by padding alone. `MauiWindowInsetListener`
checks `MeasuredHeight > 0` to determine whether the AppBar has content.
Since it sees `159 > 0`, it treats the AppBar as having content,
consumes the top system inset, and the inset never reaches
`SafeAreaExtensions` downstream.

The result is a blank gap at the top of the screen equal to the status
bar height — visible on both `NavigationPage` (when a page is pushed
with the nav bar hidden) and `Shell` (when the navigation bar is hidden
at runtime).

### Description of Change
A single line is added to `ToolbarExtensions.UpdateIsVisible` in the
`!showNavBar` branch to call `SetPadding(0, 0, 0, 0)` on the
`AppBarLayout`.

This clears the stale padding so `MeasuredHeight` collapses to `0`. The
inset listener then correctly identifies the AppBar as having no
content, passes the top inset downstream, and `SafeAreaEdges=None` is
fully respected with no blank gap.

The re-show path is safe — `RequestApplyInsets` is called in both
branches of `UpdateIsVisible`, so the next inset dispatch naturally
restores the correct padding when the nav bar is shown again.

Parent traversal uses
`nativeToolbar.Parent?.GetParentOfType<AppBarLayout>()` — the
established MAUI pattern used in `ShellToolbarTracker.cs`.

Two new device tests pin the fix for both affected paths:

* `PushingToPageWithoutNavigationBarClearsAppBarInsetPadding` for the
`NavigationPage` scenario
* `HiddenShellNavigationBarClearsAppBarInsetPadding` for the `Shell`
scenario
These tests were adopted from open contributor PR #35555 .
 
### Issues Fixed
Fixes #35103 
Fixes #34472 
 
Tested the behaviour in the following platforms
- [x] Android
- [ ] Windows
- [ ] iOS
- [ ] Mac

### Screenshots
| Before Issue Fix | After Issue Fix |
|------------------|-----------------|
| <video width="350" alt="withoutfix"
src="https://github.com/user-attachments/assets/ce6064b7-6a8e-47af-a2c7-3259f71af379"
/> | <video width="350" alt="withfix"
src="https://github.com/user-attachments/assets/67c5821b-8057-4048-9e05-e0c508f67ae5"
/> |
kubaflo pushed a commit that referenced this pull request Jul 29, 2026
…s=None (#36072)

<!-- Please let the below note in for people that find this PR -->
   > [!NOTE]
   > Are you waiting for the changes in this PR to be merged?
> It would be very helpful if you could [test the resulting
artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from
this PR and let us know in a comment if this change resolves your issue.
  Thank you!
 
### Root Cause
When `NavigationPage.HasNavigationBar` is set to `false`,
`ToolbarExtensions.UpdateIsVisible` collapses the toolbar height to `0`.
However, the `AppBarLayout` parent retains stale top padding from a
previous inset dispatch — for example, `159px` from the status
bar/cutout.

Even with toolbar height `0`, `AppBarLayout.MeasuredHeight` remains at
`159px` because it is driven by padding alone. `MauiWindowInsetListener`
checks `MeasuredHeight > 0` to determine whether the AppBar has content.
Since it sees `159 > 0`, it treats the AppBar as having content,
consumes the top system inset, and the inset never reaches
`SafeAreaExtensions` downstream.

The result is a blank gap at the top of the screen equal to the status
bar height — visible on both `NavigationPage` (when a page is pushed
with the nav bar hidden) and `Shell` (when the navigation bar is hidden
at runtime).

### Description of Change
A single line is added to `ToolbarExtensions.UpdateIsVisible` in the
`!showNavBar` branch to call `SetPadding(0, 0, 0, 0)` on the
`AppBarLayout`.

This clears the stale padding so `MeasuredHeight` collapses to `0`. The
inset listener then correctly identifies the AppBar as having no
content, passes the top inset downstream, and `SafeAreaEdges=None` is
fully respected with no blank gap.

The re-show path is safe — `RequestApplyInsets` is called in both
branches of `UpdateIsVisible`, so the next inset dispatch naturally
restores the correct padding when the nav bar is shown again.

Parent traversal uses
`nativeToolbar.Parent?.GetParentOfType<AppBarLayout>()` — the
established MAUI pattern used in `ShellToolbarTracker.cs`.

Two new device tests pin the fix for both affected paths:

* `PushingToPageWithoutNavigationBarClearsAppBarInsetPadding` for the
`NavigationPage` scenario
* `HiddenShellNavigationBarClearsAppBarInsetPadding` for the `Shell`
scenario
These tests were adopted from open contributor PR #35555 .
 
### Issues Fixed
Fixes #35103 
Fixes #34472 
 
Tested the behaviour in the following platforms
- [x] Android
- [ ] Windows
- [ ] iOS
- [ ] Mac

### Screenshots
| Before Issue Fix | After Issue Fix |
|------------------|-----------------|
| <video width="350" alt="withoutfix"
src="https://github.com/user-attachments/assets/ce6064b7-6a8e-47af-a2c7-3259f71af379"
/> | <video width="350" alt="withfix"
src="https://github.com/user-attachments/assets/67c5821b-8057-4048-9e05-e0c508f67ae5"
/> |
kubaflo pushed a commit that referenced this pull request Aug 7, 2026
…s=None (#36072)

<!-- Please let the below note in for people that find this PR -->
   > [!NOTE]
   > Are you waiting for the changes in this PR to be merged?
> It would be very helpful if you could [test the resulting
artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from
this PR and let us know in a comment if this change resolves your issue.
  Thank you!
 
### Root Cause
When `NavigationPage.HasNavigationBar` is set to `false`,
`ToolbarExtensions.UpdateIsVisible` collapses the toolbar height to `0`.
However, the `AppBarLayout` parent retains stale top padding from a
previous inset dispatch — for example, `159px` from the status
bar/cutout.

Even with toolbar height `0`, `AppBarLayout.MeasuredHeight` remains at
`159px` because it is driven by padding alone. `MauiWindowInsetListener`
checks `MeasuredHeight > 0` to determine whether the AppBar has content.
Since it sees `159 > 0`, it treats the AppBar as having content,
consumes the top system inset, and the inset never reaches
`SafeAreaExtensions` downstream.

The result is a blank gap at the top of the screen equal to the status
bar height — visible on both `NavigationPage` (when a page is pushed
with the nav bar hidden) and `Shell` (when the navigation bar is hidden
at runtime).

### Description of Change
A single line is added to `ToolbarExtensions.UpdateIsVisible` in the
`!showNavBar` branch to call `SetPadding(0, 0, 0, 0)` on the
`AppBarLayout`.

This clears the stale padding so `MeasuredHeight` collapses to `0`. The
inset listener then correctly identifies the AppBar as having no
content, passes the top inset downstream, and `SafeAreaEdges=None` is
fully respected with no blank gap.

The re-show path is safe — `RequestApplyInsets` is called in both
branches of `UpdateIsVisible`, so the next inset dispatch naturally
restores the correct padding when the nav bar is shown again.

Parent traversal uses
`nativeToolbar.Parent?.GetParentOfType<AppBarLayout>()` — the
established MAUI pattern used in `ShellToolbarTracker.cs`.

Two new device tests pin the fix for both affected paths:

* `PushingToPageWithoutNavigationBarClearsAppBarInsetPadding` for the
`NavigationPage` scenario
* `HiddenShellNavigationBarClearsAppBarInsetPadding` for the `Shell`
scenario
These tests were adopted from open contributor PR #35555 .
 
### Issues Fixed
Fixes #35103 
Fixes #34472 
 
Tested the behaviour in the following platforms
- [x] Android
- [ ] Windows
- [ ] iOS
- [ ] Mac

### Screenshots
| Before Issue Fix | After Issue Fix |
|------------------|-----------------|
| <video width="350" alt="withoutfix"
src="https://github.com/user-attachments/assets/ce6064b7-6a8e-47af-a2c7-3259f71af379"
/> | <video width="350" alt="withfix"
src="https://github.com/user-attachments/assets/67c5821b-8057-4048-9e05-e0c508f67ae5"
/> |
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 8, 2026
@github-actions github-actions Bot modified the milestones: .NET 10 SR9, .NET 10 SR11 Sep 22, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-safearea Issues/PRs that have to do with the SafeArea functionality community ✨ Community Contribution partner/syncfusion Issues / PR's with Syncfusion collaboration platform/android s/agent-fix-win AI found a better alternative fix than the PR s/agent-gate-passed AI verified tests catch the bug (fail without fix, pass with fix) s/agent-reviewed PR was reviewed by AI agent workflow (full 4-phase review)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

wrong statusbar height when Android device has a notch [Android] Top SafeAreaEdge isn't respected when the page is pushed to a NavigationPage

7 participants