Fix Android app bar inset background coloring#35601
Conversation
<!-- 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! ## What Restrict the agentic-labeler to apply **exactly one `area-*` label** per item, while still allowing multiple `platform/*` labels. ## Why Backfilling the 26 items affected by the `max:1` bug (fixed in dotnet#35540) revealed that the labeler occasionally applies multiple `area-*` labels for ambiguous cases: - **dotnet#35501** got both `area-layout` and `area-safearea` - **dotnet#35490** got both `area-navigation` and `area-controls-tabbedpage` The intended behavior is exactly one best-fit `area-*` per item (a label-quota distinction not expressible via `safe-outputs.add-labels.max:` — that field counts total labels, not labels per prefix). The fix has to live in the agent's instructions. ## Changes ### `.github/skills/agentic-labeler/SKILL.md` - Scope section: "Exactly one `area-*`" / "One or more `platform/*`". - Area rules section: renamed heading, changed "pick one or more" → "apply exactly one". - New **tie-breaking heuristics** for the area-* selection: - Specific control beats generic area (`area-controls-tabbedpage` over `area-navigation`) - Sub-area beats parent area (`area-safearea` over `area-layout`) - Subject-matter focus beats incidental touch - When genuinely tied, prefer the user-visible feature - Mixed-PR rule clarified: infra-primary PRs get only `area-infrastructure` (no second product area). ### `.github/workflows/agentic-labeler.md` - Added explicit reinforcement in the workflow prompt: "Apply exactly one `area-*` label … and one or more `platform/*` labels". - Fixed two stale `max: 1` comments left over from dotnet#35540 (the cap is now `max: 10`). ### `.github/workflows/agentic-labeler.lock.yml` - Regenerated via `gh aw compile`. Diff is frontmatter-hash + heredoc rotations only — no semantic change to the compiled config. ## Validation - Reviewed all 21 existing eval scenarios in `tests/eval.yaml` — none assert multiple `area-*` labels, so no test updates needed. - The `max: 10` cap in `safe-outputs` is preserved as a blast-radius safeguard (one area + several platforms still fit comfortably). ## Follow-ups (not in this PR) If accuracy of the "one area" rule drops below ~95% in eval runs, consider adding a deterministic post-step that strips extra `area-*` labels per a known precedence list (Option B from the design discussion). Co-authored-by: bot <bot@test> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
## Description
Extends the `maui-copilot` DevDiv pipeline (pipeline 27723) with a
3-stage architecture that runs real UI tests on platform-pool agents and
reports results directly in the AI summary PR comment.
### Pipeline Workflow
```
┌─────────────────────────────────────────────────────────┐
│ Stage 1: ReviewPR │
│ │
│ STEP 1: Branch Setup (checkout + cherry-pick PR) │
│ STEP 2: Detect UI Test Categories │
│ STEP 3: Run Detected UI Tests (in-process, fast) │
│ STEP 4: Regression Cross-Reference │
│ STEP 5: Gate — verify tests fail/pass before/after fix │
│ STEP 6: Code Review — deep analysis via Copilot agent │
│ │
│ Outputs → CopilotLogs artifact + detectedCategories │
└──────────────────────┬──────────────────────────────────┘
│
┌──────────────────────▼──────────────────────────────────┐
│ Stage 2: RunDeepUITests (platform-pool agent) │
│ │
│ iOS: AcesShared Tahoe + iOS 26.4 │
│ Android: ubuntu-22.04 + KVM + AVD │
│ │
│ Runs BuildAndRunHostApp.ps1 per detected category │
│ Outputs → drop-deep-uitests artifact (TRX + diffs) │
└──────────────────────┬──────────────────────────────────┘
│
┌──────────────────────▼──────────────────────────────────┐
│ Stage 3: PostResults │
│ │
│ 1. Download CopilotLogs (review content files) │
│ 2. Download drop-deep-uitests (TRX results) │
│ 3. Merge deep results into uitests/content.md │
│ 4. Post full AI Summary comment on PR │
│ 5. Apply labels (s/agent-reviewed, etc.) │
│ │
│ One comment with everything — no patching needed │
└─────────────────────────────────────────────────────────┘
```
### What's New
**Deep UI Test Execution (Stage 2)**
- Runs detected UI test categories on proper platform-pool agents (not
in-process on Linux)
- **iOS**: AcesShared Tahoe agents with iOS 26.4 simulator, iPhone 11
Pro (matching `ios-26` baselines from PR dotnet#35061)
- **Android**: ubuntu-22.04 with KVM, AVD boot with `-partition-size
2048`, `ignoreHiddenApiPolicyError` capability
- TRX results + snapshot-diff PNGs published as `drop-deep-uitests`
artifact
**Unified Comment Posting (Stage 3)**
- Comment posting and label application deferred to Stage 3 (after deep
tests complete)
- Single AI summary comment includes ALL results: code review + deep
test results
- Nested collapsible `<details>` for failed tests with full error +
stack trace
- Dynamic section title: `🧪 UI Tests — CollectionView, TabbedPage`
- Artifact download link for snapshot-diff PNGs
**Android Emulator Improvements**
- AVD boot step with proper partition size, ADB key pre-authorization,
boot wait
- `DEVICE_UDID` pass-through prevents double emulator boot
- Disk cleanup on hosted ubuntu agents (frees ~22GB)
- KVM enablement + `appium:ignoreHiddenApiPolicyError` for API 30
**iOS Simulator Improvements**
- Tahoe pool demand ensures macOS 26.x agents
- Explicit iOS 26.4 download via latest Xcode
- Auto-creates iPhone 11 Pro for baseline resolution match
### Validation
Tested across 30+ pipeline iterations on 6 PRs:
| PR | iOS | Android |
|---|---|---|
| 35358 (ViewBaseTests) | **112/112 ALL PASS** ✅ | **118/119 PASS** ✅ |
| 35359 (TabbedPage) | 44/50 (1 real failure) | 74/75 (1 real failure) |
| 35356 (CollectionView) | **415/417 PASS** ✅ | 593/619 (26 real
failures) |
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…35589) > [!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! Backport of dotnet#35460 to `main`. /cc @PureWeen Co-authored-by: HarishKumarSF4517 <harish.kumar@syncfusion.com>
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.sh | bash -s -- 35601Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/maui/main/eng/scripts/get-maui-pr.ps1) } 35601" |
|
Hey there @@ne0rrmatrix! Thank you so much for your PR! Someone from the team will get assigned to your PR shortly and we'll get it reviewed. |
|
/review -b feature/refactor-copilot-yml |
|
/review -b feature/refactor-copilot-yml |
🤖 AI Summary
📊 Review Session —
|
| Test | Without Fix (expect FAIL) | With Fix (expect PASS) |
|---|---|---|
📱 ControlsHandlerTestBase ControlsHandlerTestBase |
✅ FAIL — 955s | ✅ PASS — 1079s |
📱 NavigationPageTests (BarBackgroundColorColorsEdgeToEdgeTopInsetArea) Category=NavigationPage |
✅ FAIL — 438s | ✅ PASS — 270s |
📱 ShellTests (ShellBackgroundColorsEdgeToEdgeTopInsetArea) Category=Shell |
✅ FAIL — 319s | ✅ PASS — 323s |
🔴 Without fix — 📱 ControlsHandlerTestBase: FAIL ✅ · 955s
(truncated to last 15,000 chars)
.Threading.ThreadPool.dll.so
[45/133] Xamarin.AndroidX.Lifecycle.ViewModel.Android.dll -> Xamarin.AndroidX.Lifecycle.ViewModel.Android.dll.so
[124/133] System.Threading.dll -> System.Threading.dll.so
[125/133] System.Xml.Linq.dll -> System.Xml.Linq.dll.so
[46/133] Xamarin.AndroidX.Lifecycle.ViewModelSavedState.Android.dll -> Xamarin.AndroidX.Lifecycle.ViewModelSavedState.Android.dll.so
[126/133] System.Xml.ReaderWriter.dll -> System.Xml.ReaderWriter.dll.so
[127/133] System.Xml.XDocument.dll -> System.Xml.XDocument.dll.so
[47/133] Xamarin.AndroidX.Loader.dll -> Xamarin.AndroidX.Loader.dll.so
[128/133] System.dll -> System.dll.so
[129/133] netstandard.dll -> netstandard.dll.so
[48/133] Xamarin.AndroidX.Navigation.Common.Android.dll -> Xamarin.AndroidX.Navigation.Common.Android.dll.so
[130/133] Mono.Android.Runtime.dll -> Mono.Android.Runtime.dll.so
[49/133] Xamarin.AndroidX.Navigation.Fragment.dll -> Xamarin.AndroidX.Navigation.Fragment.dll.so
[131/133] Java.Interop.dll -> Java.Interop.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
[132/133] Mono.Android.dll -> Mono.Android.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
[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
[133/133] System.Private.CoreLib.dll -> System.Private.CoreLib.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:06.65
[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'
�[40m�[1m�[33mwarn�[39m�[22m�[49m: Hit broken pipe error; Will make one attempt to restart ADB server, and retry the uninstallation
�[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 kill-server'
�[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 start-server'
�[40m�[37mdbug�[39m�[22m�[49m:
�[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:
- waiting for device -
cmd: Can't find service: package
�[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: Can't find service: package
Performing Streamed Install
Std err:
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 ✅ · 1079s
(truncated to last 15,000 chars)
.103 17694 21143 I DOTNET : [PASS] Does Not Leak
05-26 19:35:48.103 17694 21143 I DOTNET : Microsoft.Maui.DeviceTests.Memory.WindowOverlayTests 1.839287 ms
05-26 19:35:48.103 17694 21143 I DOTNET : Test collection for Microsoft.Maui.DeviceTests.DispatchingTests
05-26 19:35:48.608 17694 21148 I DOTNET : [PASS] DispatchFromBackgroundThread
05-26 19:35:48.608 17694 21148 I DOTNET : Microsoft.Maui.DeviceTests.DispatchingTests 0.5038772 ms
05-26 19:35:48.608 17694 21148 I DOTNET : Test collection for Microsoft.Maui.DeviceTests.BorderTests
05-26 19:35:48.934 17694 21153 I DOTNET : [PASS] Ensures the border renders the expected size - Issue 15339
05-26 19:35:49.092 17694 21158 I DOTNET : [PASS] StrokeThickness does not inset stroke path
05-26 19:35:51.670 17694 21169 I DOTNET : [PASS] Border Does Not Leak
05-26 19:35:54.207 17694 21180 I DOTNET : [PASS] Border With Stroke Shape And Name Does Not Leak
05-26 19:35:54.207 17694 21180 I DOTNET : [IGNORED] Checks that the default background is transparent
05-26 19:35:54.396 17694 21185 I DOTNET : [PASS] Rounded Rectangle Border occupies correct space
05-26 19:35:54.398 17694 21185 I DOTNET : Microsoft.Maui.DeviceTests.BorderTests 5.7793463 ms
05-26 19:35:54.398 17694 21185 I DOTNET : Test collection for Microsoft.Maui.DeviceTests.CarouselViewTests
05-26 19:35:54.825 17694 21190 I DOTNET : [PASS] HiddenCarouselViewNoCrash
05-26 19:35:55.396 17694 21196 I DOTNET : [PASS] DisconnectedCarouselViewDoesNotHookCollectionViewChanged
05-26 19:35:57.824 17694 21202 I DOTNET : [PASS] IndicatorView Provides Correct TalkBack Accessibility Description
05-26 19:35:59.178 17694 21207 I DOTNET : [PASS] Position Initializes Correctly
05-26 19:36:00.561 17694 21212 I DOTNET : [PASS] Position Initializes Correctly
05-26 19:36:01.925 17694 21217 I DOTNET : [PASS] Position Initializes Correctly
05-26 19:36:02.395 17694 21222 I DOTNET : [PASS] CarouselViewDataTemplateSelectorSelectorNoCrash
05-26 19:36:02.396 17694 21222 I DOTNET : Microsoft.Maui.DeviceTests.CarouselViewTests 7.9923656 ms
05-26 19:36:02.396 17694 21222 I DOTNET : Test collection for Microsoft.Maui.DeviceTests.RadioButtonTests
05-26 19:36:02.878 17694 21227 I DOTNET : [PASS] Issue 34322 - Explicit SemanticDescription is not overwritten by content-derived semantics
05-26 19:36:03.229 17694 21232 I DOTNET : [PASS] Issue 34322 - Templated RadioButton uses content label for semantics
05-26 19:36:08.088 17694 21243 I DOTNET : [PASS] RadioButtonHandlerShouldNotLeak
05-26 19:36:08.089 17694 21243 I DOTNET : Microsoft.Maui.DeviceTests.RadioButtonTests 5.6907004 ms
05-26 19:36:08.089 17694 21243 I DOTNET : Test collection for Microsoft.Maui.DeviceTests.AccessibilityTests
05-26 19:36:08.102 17694 21243 I DOTNET : [PASS] IsInAccessibleTree initializes correctly
05-26 19:36:08.112 17694 21243 I DOTNET : [PASS] IsInAccessibleTree initializes correctly
05-26 19:36:08.124 17694 21243 I DOTNET : [PASS] ExcludedWithChildren initializes correctly
05-26 19:36:08.134 17694 21243 I DOTNET : [PASS] ExcludedWithChildren initializes correctly
05-26 19:36:08.134 17694 21243 I DOTNET : Microsoft.Maui.DeviceTests.AccessibilityTests 0.0442697 ms
05-26 19:36:08.134 17694 21243 I DOTNET : Test collection for Microsoft.Maui.DeviceTests.TabbedPageTests
05-26 19:36:08.467 17694 21248 I DOTNET : [PASS] SettingJustSelectedATabColorOnBottomTabsDoesntCrash
05-26 19:36:12.891 17694 21254 I DOTNET : [PASS] Bar Text Color
05-26 19:36:13.291 17694 21259 I DOTNET : [PASS] ChangingBottomTabAttributesDoesntRecreateBottomTabs
05-26 19:36:13.297 17694 21259 I DOTNET : [PASS] ScaleConsistent
05-26 19:36:21.758 17694 21264 I DOTNET : [PASS] Selected/Unselected Color
05-26 19:36:22.198 17694 21269 I DOTNET : [PASS] SettingCurrentPageToNotBePositionZeroWorks
05-26 19:36:22.612 17694 21274 I DOTNET : [PASS] SettingCurrentPageToNotBePositionZeroWorks
05-26 19:36:23.114 17694 21279 I DOTNET : [PASS] SettingCurrentPageToNotBePositionZeroWorks
05-26 19:36:23.399 17694 21284 I DOTNET : [PASS] SettingCurrentPageToNotBePositionZeroWorks
05-26 19:36:23.438 17694 21284 I DOTNET : [PASS] RotationYConsistent
05-26 19:36:23.446 17694 21284 I DOTNET : [PASS] RotationXConsistent
05-26 19:36:24.225 17694 21289 I DOTNET : [PASS] NavigatingAwayFromTabbedPageResizesContentPage
05-26 19:36:25.166 17694 21294 I DOTNET : [PASS] NavigatingAwayFromTabbedPageResizesContentPage
05-26 19:36:25.236 17694 21294 I DOTNET : [PASS] ScaleXConsistent
05-26 19:36:37.231 17694 21299 I DOTNET : [PASS] MovingBetweenMultiplePagesWithNestedNavigationPages
05-26 19:36:46.413 17694 21304 I DOTNET : [PASS] MovingBetweenMultiplePagesWithNestedNavigationPages
05-26 19:36:56.758 17694 21311 I DOTNET : [PASS] MovingBetweenMultiplePagesWithNestedNavigationPages
05-26 19:37:08.082 17694 21317 I DOTNET : [PASS] MovingBetweenMultiplePagesWithNestedNavigationPages
05-26 19:37:08.442 17694 21322 I DOTNET : [PASS] BottomNavigationViewExtendsToScreenBottom
05-26 19:37:11.162 17694 21327 I DOTNET : [PASS] Does Not Leak
05-26 19:37:16.818 17694 21332 I DOTNET : [PASS] DisconnectEachPageHandlerAfterNavigation
05-26 19:37:20.815 17694 21337 I DOTNET : [PASS] DisconnectEachPageHandlerAfterNavigation
05-26 19:37:25.493 17694 21342 I DOTNET : [PASS] DisconnectEachPageHandlerAfterNavigation
05-26 19:37:31.211 17694 21347 I DOTNET : [PASS] DisconnectEachPageHandlerAfterNavigation
05-26 19:37:31.802 17694 21352 I DOTNET : [PASS] Custom RecyclerView Adapter Doesn't Crash
05-26 19:37:31.814 17694 21352 I DOTNET : [PASS] RotationConsistent
05-26 19:37:31.825 17694 21352 I DOTNET : [PASS] ScaleYConsistent
05-26 19:37:32.180 17694 21357 I DOTNET : [PASS] Using SelectedTab Color doesnt crash
05-26 19:37:33.606 17694 21362 I DOTNET : [PASS] RemovingAllPagesDoesntCrash
05-26 19:37:34.813 17694 21367 I DOTNET : [PASS] RemovingAllPagesDoesntCrash
05-26 19:37:35.983 17694 21372 I DOTNET : [PASS] RemovingAllPagesDoesntCrash
05-26 19:37:36.994 17694 21377 I DOTNET : [PASS] RemovingAllPagesDoesntCrash
05-26 19:37:38.106 17694 21382 I DOTNET : [PASS] PoppingTabbedPageDoesntCrash
05-26 19:37:39.411 17694 21387 I DOTNET : [PASS] PoppingTabbedPageDoesntCrash
05-26 19:37:40.394 17694 21392 I DOTNET : [PASS] PoppingTabbedPageDoesntCrash
05-26 19:37:41.625 17694 21397 I DOTNET : [PASS] PoppingTabbedPageDoesntCrash
05-26 19:37:43.257 17694 21402 I DOTNET : [PASS] Remove CurrentPage And Then Re-Add Doesnt Crash
05-26 19:37:44.633 17694 21407 I DOTNET : [PASS] Remove CurrentPage And Then Re-Add Doesnt Crash
05-26 19:37:46.278 17694 21412 I DOTNET : [PASS] Remove CurrentPage And Then Re-Add Doesnt Crash
05-26 19:37:47.727 17694 21417 I DOTNET : [PASS] Remove CurrentPage And Then Re-Add Doesnt Crash
05-26 19:37:47.728 17694 21417 I DOTNET : Microsoft.Maui.DeviceTests.TabbedPageTests 99.5320561 ms
05-26 19:37:47.732 17694 21417 I DOTNET : Test collection for Microsoft.Maui.DeviceTests.DatePickerTests
05-26 19:37:48.172 17694 21422 I DOTNET : [PASS] DatePicker Null Date Behavior Across All Platforms
05-26 19:37:48.518 17694 21427 I DOTNET : [PASS] DateSelected Event Fires When Platform View Date Changes
05-26 19:37:48.518 17694 21427 I DOTNET : Microsoft.Maui.DeviceTests.DatePickerTests 0.7845080 ms
05-26 19:37:48.518 17694 21427 I DOTNET : Test collection for Microsoft.Maui.DeviceTests.HybridWebViewTests_InvokeDotNet
05-26 19:37:49.218 17694 17714 I DOTNET : fail: Microsoft.Maui.Platform.MauiHybridWebViewClient[0]
05-26 19:37:49.218 17694 17714 I DOTNET : InvokeDotNet endpoint missing or invalid request header
05-26 19:37:49.726 17694 21433 I DOTNET : [PASS] GetRequestsAreBlocked
05-26 19:37:50.401 17694 17714 I DOTNET : fail: Microsoft.Maui.Platform.MauiHybridWebViewClient[0]
05-26 19:37:50.401 17694 17714 I DOTNET : InvokeDotNet endpoint missing or invalid request header
05-26 19:37:50.913 17694 21440 I DOTNET : [PASS] InvalidTokenHeaderIsBlocked
05-26 19:37:50.914 17694 21440 I DOTNET : [IGNORED] IframeRequestIsBlocked
05-26 19:37:51.637 17694 17714 I DOTNET : fail: Microsoft.Maui.Platform.MauiHybridWebViewClient[0]
05-26 19:37:51.637 17694 17714 I DOTNET : InvokeDotNet request missing X-Maui-Request-Body header
05-26 19:37:52.148 17694 21446 I DOTNET : [PASS] EmptyBodyIsBlocked
05-26 19:37:52.782 17694 17714 I DOTNET : fail: Microsoft.Maui.Handlers.HybridWebViewHandler[0]
05-26 19:37:52.782 17694 17714 I DOTNET : An error occurred while invoking a .NET method from JavaScript: The invoke data did not provide a method name.
05-26 19:37:52.782 17694 17714 I DOTNET : System.InvalidOperationException: The invoke data did not provide a method name.
05-26 19:37:52.782 17694 17714 I DOTNET : at Microsoft.Maui.Handlers.HybridWebViewHandler.InvokeDotNetAsync(Stream streamBody, String stringBody)
05-26 19:37:53.289 17694 21452 I DOTNET : [PASS] ValidRequestIsNotBlocked
05-26 19:37:53.958 17694 17714 I DOTNET : fail: Microsoft.Maui.Platform.MauiHybridWebViewClient[0]
05-26 19:37:53.958 17694 17714 I DOTNET : InvokeDotNet endpoint only accepts POST requests. Received: GET
05-26 19:37:54.473 17694 21458 I DOTNET : [PASS] GetRequestWithHeaderIsBlocked
05-26 19:37:55.200 17694 17714 I DOTNET : fail: Microsoft.Maui.Platform.MauiHybridWebViewClient[0]
05-26 19:37:55.200 17694 17714 I DOTNET : InvokeDotNet endpoint missing or invalid request header
05-26 19:37:55.713 17694 21464 I DOTNET : [PASS] MissingTokenHeaderIsBlocked
05-26 19:37:56.438 17694 17714 I DOTNET : fail: Microsoft.Maui.Platform.MauiHybridWebViewClient[0]
05-26 19:37:56.438 17694 17714 I DOTNET : InvokeDotNet request missing X-Maui-Request-Body header
05-26 19:37:56.946 17694 21470 I DOTNET : [PASS] MissingBodyHeaderIsBlocked
05-26 19:37:56.947 17694 21470 I DOTNET : Microsoft.Maui.DeviceTests.HybridWebViewTests_InvokeDotNet 8.4240810 ms
05-26 19:37:56.947 17694 21470 I DOTNET : Test collection for Microsoft.Maui.DeviceTests.HybridWebViewTests_EvaluateJavaScriptAsync
05-26 19:37:57.607 17694 21476 I DOTNET : [PASS] EvaluateJavaScriptAndGetResult
05-26 19:37:57.607 17694 21476 I DOTNET : Microsoft.Maui.DeviceTests.HybridWebViewTests_EvaluateJavaScriptAsync 0.6591093 ms
05-26 19:37:57.607 17694 21476 I DOTNET : Test collection for Microsoft.Maui.DeviceTests.LayoutTests
05-26 19:37:57.682 17694 21481 I DOTNET : [PASS] InputTransparentCorrectlyAppliedToPlatformView
05-26 19:37:57.701 17694 21481 I DOTNET : [PASS] InputTransparentCorrectlyAppliedToPlatformView
05-26 19:37:57.824 17694 21487 I DOTNET : [PASS] FlexLayoutInHorizontalStackLayoutDoesNotCycle
05-26 19:37:58.225 17694 21492 I DOTNET : [PASS] DependentLayoutBindingsResolve
05-26 19:37:58.420 17694 21498 I DOTNET : [PASS] CascadeInputTransparentAppliesOnAdd
05-26 19:37:58.436 17694 21498 I DOTNET : [PASS] CascadeInputTransparentAppliesOnAdd
05-26 19:37:58.476 17694 21504 I DOTNET : [PASS] CascadeInputTransparentAppliesOnAdd
05-26 19:37:58.492 17694 21504 I DOTNET : [PASS] CascadeInputTransparentAppliesOnAdd
05-26 19:37:58.598 17694 21510 I DOTNET : [PASS] FlexLayoutInVerticalStackLayoutDoesNotCycle
05-26 19:37:58.630 17694 21516 I DOTNET : [PASS] CascadeInputTransparentAppliesOnInit
05-26 19:37:58.686 17694 21516 I DOTNET : [PASS] CascadeInputTransparentAppliesOnInit
05-26 19:37:58.705 17694 21522 I DOTNET : [PASS] CascadeInputTransparentAppliesOnInit
05-26 19:37:58.849 17694 21527 I DOTNET : [PASS] SizeRequestIsClampedToMinimumAndMaximum
05-26 19:37:58.849 17694 21527 I DOTNET : [IGNORED] UpdatingLayoutOptionsTriggersParentToRepositionControl
05-26 19:37:58.930 17694 21527 I DOTNET : [PASS] CascadeInputTransparentAppliesOnInsert
05-26 19:37:58.980 17694 21527 I DOTNET : [PASS] CascadeInputTransparentAppliesOnInsert
05-26 19:37:58.980 17694 21527 I DOTNET : [IGNORED] GridCellsHonorMaxHeight
05-26 19:37:58.994 17694 21527 I DOTNET : [PASS] InputTransparentUpdatesCorrectlyOnPlatformView
05-26 19:37:59.006 17694 21527 I DOTNET : [PASS] InputTransparentUpdatesCorrectlyOnPlatformView
05-26 19:37:59.112 17694 21532 I DOTNET : [PASS] GridCellsHonorMaxWidth
05-26 19:37:59.189 17694 21538 I DOTNET : [PASS] CascadeInputTransparentAppliesOnUpdate
05-26 19:37:59.250 17694 21538 I DOTNET : [PASS] CascadeInputTransparentAppliesOnUpdate
05-26 19:37:59.278 17694 21544 I DOTNET : [PASS] CascadeInputTransparentAppliesOnUpdate
05-26 19:37:59.651 17694 21550 I DOTNET : [PASS] ButtonWithImageInFlexLayoutInGridDoesNotCycle
05-26 19:37:59.830 17694 21555 I DOTNET : [PASS] GridAddAndRemoveChildrenViaIndex
05-26 19:38:00.111 17694 21560 I DOTNET : [PASS] MinimumSizeRequestsCanBeCleared
05-26 19:38:00.111 17694 21560 I DOTNET : Microsoft.Maui.DeviceTests.LayoutTests 2.4711268 ms
05-26 19:38:00.324 17694 17715 I DOTNET : Xml file was written to the provided writer.
05-26 19:38:00.325 17694 17715 I DOTNET : Tests run: 957 Passed: 944 Inconclusive: 0 Failed: 0 Ignored: 0
�[40m�[32minfo�[39m�[22m�[49m: <<XHARNESS_RESULT_START>>
{
"version": 1,
"machineName": "runnervmfuwn7",
"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 (BarBackgroundColorColorsEdgeToEdgeTopInsetArea): FAIL ✅ · 438s
(truncated to last 15,000 chars)
lture=neutral, PublicKeyToken=null]
05-26 19:14:23.062 16173 16272 I DOTNET : Exception messages: Color Color [A=255, R=255, G=69, B=0] not found. This is what it looked like:<img>iVBORw0KGgoAAAANSUhEUgAABDgAAADSCAYAAACvgHB4AAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAABOZSURBVHic7d1pcF5XfQfgnyxb8q7YipfEMTYmxFmB0lBIBkpKCBSGtWVJGWgpe6FQGMpSKBkoLZQlQFIoZaDQQMKSFNJ2GJhQpixDy1IINJA4G4mzeEvieLcsyZL64caDY92r7ZVkH/t5ZjQT3fPee459nA/3957zP21n/u5zhgIAAABQsBmHewAAAAAArRJwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMVrG7ogQ4d7EAAAAACtsIIDAAAAKJ6AAwAAACiegAMAAAAonoADAAAAKJ6AAwAAACiegAMAAA
05-26 19:14:23.062 16173 16272 I DOTNET : at System.Threading.Tasks.Task`1[[Android.Graphics.Bitmap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065]].InnerInvoke()
05-26 19:14:23.062 16173 16272 I DOTNET : at System.Threading.Tasks.Task.<>c.<.cctor>b__288_0(Object obj)
05-26 19:14:23.062 16173 16272 I DOTNET : at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread , ExecutionContext , ContextCallback , Object )
05-26 19:14:23.062 16173 16272 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:23.062 16173 16272 I DOTNET : at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread , ExecutionContext , ContextCallback , Object )
05-26 19:14:23.062 16173 16272 I DOTNET : at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& , Thread )
05-26 19:14:23.062 16173 16272 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:23.062 16173 16272 I DOTNET : at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.AssertAppBarTopInsetUsesColor(IElementHandler handler, Color expectedColor)
05-26 19:14:23.062 16173 16272 I DOTNET : at Microsoft.Maui.DeviceTests.NavigationPageTests.<>c__DisplayClass2_0.<<BarBackgroundColorColorsEdgeToEdgeTopInsetArea>b__0>d.MoveNext()
05-26 19:14:23.062 16173 16272 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:23.062 16173 16272 I DOTNET : at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass32_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()
05-26 19:14:23.062 16173 16272 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:23.062 16173 16272 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()
05-26 19:14:23.062 16173 16272 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:23.062 16173 16272 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()
05-26 19:14:23.062 16173 16272 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:23.062 16173 16272 I DOTNET : at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
05-26 19:14:23.062 16173 16272 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:23.062 16173 16272 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()
05-26 19:14:23.062 16173 16272 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:23.062 16173 16272 I DOTNET : at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass32_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()
05-26 19:14:23.062 16173 16272 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:23.062 16173 16272 I DOTNET : at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
05-26 19:14:23.062 16173 16272 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:23.062 16173 16272 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()
05-26 19:14:23.062 16173 16272 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:23.062 16173 16272 I DOTNET : at Microsoft.Maui.DeviceTests.NavigationPageTests.BarBackgroundColorColorsEdgeToEdgeTopInsetArea()
05-26 19:14:23.062 16173 16272 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:23.062 16173 16272 I DOTNET : Execution time: 1.3441774
05-26 19:14:23.062 16173 16272 I DOTNET : Test trait name: Category
05-26 19:14:23.062 16173 16272 I DOTNET : value: NavigationPage
05-26 19:14:23.062 16173 16272 I DOTNET : value: NavigationPage
05-26 19:14:23.062 16173 16272 I DOTNET :
05-26 19:14:24.159 16173 16277 I DOTNET : [PASS] PopLifeCycle
05-26 19:14:25.210 16173 16282 I DOTNET : [PASS] Back Button Visibility Changes with push/pop
05-26 19:14:25.630 16173 16287 I DOTNET : [PASS] Insert Page Before Root Page and then PopToRoot
05-26 19:14:25.631 16173 16287 I DOTNET : [IGNORED] Does Not Leak
05-26 19:14:26.008 16173 16292 I DOTNET : [PASS] PushedPageFiresNavigatedEventOnInitialLoad
05-26 19:14:27.651 16173 16297 I DOTNET : [PASS] Pushing And Popping Doesnt Fire BackButtonVisible Toolbar Events
05-26 19:14:28.525 16173 16302 I DOTNET : [PASS] Set Has Back Button
05-26 19:14:28.838 16173 16307 I DOTNET : [PASS] Set Has Navigation Bar
05-26 19:14:30.342 16173 16312 I DOTNET : [PASS] Can Reuse Pages
05-26 19:14:30.343 16173 16312 I DOTNET : Microsoft.Maui.DeviceTests.NavigationPageTests 21.0346608 ms
05-26 19:14:30.401 16173 16193 I DOTNET : Failed tests:
05-26 19:14:30.470 16173 16193 I DOTNET : 1) [FAIL] NavigationPage bar background colors the edge-to-edge top inset area Test name: NavigationPage bar background colors the edge-to-edge top inset area
05-26 19:14:30.470 16173 16193 I DOTNET : Assembly: [Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]
05-26 19:14:30.470 16173 16193 I DOTNET : Exception messages: Color Color [A=255, R=255, G=69, B=0] not found. This is what it looked like:<img>iVBORw0KGgoAAAANSUhEUgAABDgAAADSCAYAAACvgHB4AAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAABOZSURBVHic7d1pcF5XfQfgnyxb8q7YipfEMTYmxFmB0lBIBkpKCBSGtWVJGWgpe6FQGMpSKBkoLZQlQFIoZaDQQMKSFNJ2GJhQpixDy1IINJA4G4mzeEvieLcsyZL64caDY92r7ZVkH/t5ZjQT3fPee459nA/3957zP21n/u5zhgIAAABQsBmHewAAAAAArRJwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMUTcAAAAADFE3AAAAAAxRNwAAAAAMVrG7ogQ4d7EAAAAACtsIIDAAAAKJ6AAwAAACiegAMAAAAonoADAAAAKJ6AAwAAACiegAMAAA
05-26 19:14:30.470 16173 16193 I DOTNET : at System.Threading.Tasks.Task`1[[Android.Graphics.Bitmap, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=84e04ff9cfb79065]].InnerInvoke()
05-26 19:14:30.470 16173 16193 I DOTNET : at System.Threading.Tasks.Task.<>c.<.cctor>b__288_0(Object obj)
05-26 19:14:30.470 16173 16193 I DOTNET : at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread , ExecutionContext , ContextCallback , Object )
05-26 19:14:30.470 16173 16193 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:30.470 16173 16193 I DOTNET : at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread , ExecutionContext , ContextCallback , Object )
05-26 19:14:30.470 16173 16193 I DOTNET : at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& , Thread )
05-26 19:14:30.470 16173 16193 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:30.470 16173 16193 I DOTNET : at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.AssertAppBarTopInsetUsesColor(IElementHandler handler, Color expectedColor)
05-26 19:14:30.470 16173 16193 I DOTNET : at Microsoft.Maui.DeviceTests.NavigationPageTests.<>c__DisplayClass2_0.<<BarBackgroundColorColorsEdgeToEdgeTopInsetArea>b__0>d.MoveNext()
05-26 19:14:30.470 16173 16193 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:30.470 16173 16193 I DOTNET : at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass32_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()
05-26 19:14:30.470 16173 16193 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:30.470 16173 16193 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()
05-26 19:14:30.470 16173 16193 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:30.470 16173 16193 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()
05-26 19:14:30.470 16173 16193 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:30.470 16173 16193 I DOTNET : at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
05-26 19:14:30.470 16173 16193 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:30.470 16173 16193 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()
05-26 19:14:30.470 16173 16193 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:30.470 16173 16193 I DOTNET : at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass32_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()
05-26 19:14:30.470 16173 16193 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:30.470 16173 16193 I DOTNET : at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
05-26 19:14:30.470 16173 16193 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:30.470 16173 16193 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()
05-26 19:14:30.470 16173 16193 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:30.470 16173 16193 I DOTNET : at Microsoft.Maui.DeviceTests.NavigationPageTests.BarBackgroundColorColorsEdgeToEdgeTopInsetArea()
05-26 19:14:30.470 16173 16193 I DOTNET : --- End of stack trace from previous location ---
05-26 19:14:30.470 16173 16193 I DOTNET : Execution time: 1.3441774
05-26 19:14:30.470 16173 16193 I DOTNET : Test trait name: Category
05-26 19:14:30.470 16173 16193 I DOTNET : value: NavigationPage
05-26 19:14:30.470 16173 16193 I DOTNET : value: NavigationPage
05-26 19:14:30.470 16173 16193 I DOTNET :
05-26 19:14:30.496 16173 16193 I DOTNET : Xml file was written to the provided writer.
05-26 19:14:30.498 16173 16193 I DOTNET : Tests run: 561 Passed: 20 Inconclusive: 0 Failed: 1 Ignored: 539
�[41m�[30mfail�[39m�[22m�[49m: Non-success instrumentation exit code: 1, expected: 0
�[40m�[32minfo�[39m�[22m�[49m: <<XHARNESS_RESULT_START>>
{
"version": 1,
"machineName": "runnervmfuwn7",
"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 (BarBackgroundColorColorsEdgeToEdgeTopInsetArea): PASS ✅ · 270s
(truncated to last 15,000 chars)
Included test (filtered by Trait; 'Category':'Entry'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'FlexLayout'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'FlyoutPage'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Frame'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Gesture'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'HybridWebView'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Image'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Label'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Layout'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Lifecycle'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'ListView'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Map'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'MenuFlyout'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Mapper'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Excluded test (filtered by Trait; 'Category':'Memory'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Modal'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Page'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Path'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Picker'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'RadioButton'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'RefreshView'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'ScrollView'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'SearchBar'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Shape'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Shell'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Slider'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'SwipeView'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'TabbedPage'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'TextInput'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Toolbar'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'TemplatedView'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'View'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'VisualElement'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'VisualElementTree'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'WebView'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Window'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'WindowOverlay'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Xaml'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Accessibility'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Application'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Behavior'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Border'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'BoxView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Button'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'CarouselView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'CheckBox'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'CollectionView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Compatibility'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'ContentView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'DatePicker'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Dispatcher'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Editor'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Element'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Entry'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'FlexLayout'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'FlyoutPage'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Frame'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Gesture'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'HybridWebView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Image'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Label'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Layout'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Lifecycle'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'ListView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Map'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.917 21922 21951 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'MenuFlyout'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:42:06.993 21922 21951 I DOTNET : [Test environment: 64-bit .NET .NET 10.0 [collection-per-class, non-parallel]]
05-26 19:42:06.993 21922 21951 I DOTNET : [Test framework: xUnit.net 2.9.0.0]
05-26 19:42:07.041 21922 21951 I DOTNET : Serialize test because it has to add itself to the main window
05-26 19:42:08.865 21922 21964 I DOTNET : [PASS] Swapping Navigation Toggles BackButton Correctly
05-26 19:42:09.435 21922 21970 I DOTNET : [PASS] InitialPageFiresNavigatedEvent
05-26 19:42:12.611 21922 21979 I DOTNET : [PASS] Child Pages Do Not Leak
05-26 19:42:12.960 21922 21984 I DOTNET : [PASS] NavigationBar Removes When MainPage Set To ContentPage
05-26 19:42:14.319 21922 21989 I DOTNET : [PASS] PoppingNavigationPageDoesntCrash
05-26 19:42:15.798 21922 21994 I DOTNET : [PASS] StackNavigationManager Clears References On Disconnect (Issue 33918)
05-26 19:42:17.801 21922 21999 I DOTNET : [PASS] Pushing a Tabbed Page Doesn't Throw Exception
05-26 19:42:18.261 21922 22004 I DOTNET : [PASS] Insert Page Before RootPage ShowsBackButton
05-26 19:42:19.124 21922 22009 I DOTNET : [PASS] SettingTitleIconImageSourceDoesntCrash
05-26 19:42:20.137 21922 22015 I DOTNET : [PASS] Remove Root Page Hides Back Button
05-26 19:42:21.462 21922 22027 I DOTNET : [PASS] NavigationPage bar background colors the edge-to-edge top inset area
05-26 19:42:22.795 21922 22033 I DOTNET : [PASS] PopLifeCycle
05-26 19:42:23.744 21922 22039 I DOTNET : [PASS] Back Button Visibility Changes with push/pop
05-26 19:42:24.292 21922 22044 I DOTNET : [PASS] Insert Page Before Root Page and then PopToRoot
05-26 19:42:24.299 21922 22044 I DOTNET : [IGNORED] Does Not Leak
05-26 19:42:24.611 21922 22049 I DOTNET : [PASS] PushedPageFiresNavigatedEventOnInitialLoad
05-26 19:42:25.725 21922 22054 I DOTNET : [PASS] Pushing And Popping Doesnt Fire BackButtonVisible Toolbar Events
05-26 19:42:26.427 21922 22059 I DOTNET : [PASS] Set Has Back Button
05-26 19:42:26.834 21922 22064 I DOTNET : [PASS] Set Has Navigation Bar
05-26 19:42:28.731 21922 22069 I DOTNET : [PASS] Can Reuse Pages
05-26 19:42:28.735 21922 22069 I DOTNET : Microsoft.Maui.DeviceTests.NavigationPageTests 21.3579715 ms
05-26 19:42:28.807 21922 22069 I DOTNET : Test collection for Microsoft.Maui.DeviceTests.AlertDialogTests
05-26 19:42:28.856 21922 22069 I DOTNET : [PASS] AlertDialogButtonColorDarkTheme
05-26 19:42:28.895 21922 22069 I DOTNET : [PASS] AlertDialogButtonColorLightTheme
05-26 19:42:28.895 21922 22069 I DOTNET : Microsoft.Maui.DeviceTests.AlertDialogTests 0.0862894 ms
05-26 19:42:29.146 21922 21942 I DOTNET : Xml file was written to the provided writer.
05-26 19:42:29.147 21922 21942 I DOTNET : Tests run: 561 Passed: 21 Inconclusive: 0 Failed: 0 Ignored: 539
�[40m�[32minfo�[39m�[22m�[49m: <<XHARNESS_RESULT_START>>
{
"version": 1,
"machineName": "runnervmfuwn7",
"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 (ShellBackgroundColorsEdgeToEdgeTopInsetArea): FAIL ✅ · 319s
(truncated to last 15,000 chars)
PublicKeyToken=null]].MoveNext()
05-26 19:18:58.486 16851 17070 I DOTNET : --- End of stack trace from previous location ---
05-26 19:18:58.486 16851 17070 I DOTNET : at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
05-26 19:18:58.486 16851 17070 I DOTNET : --- End of stack trace from previous location ---
05-26 19:18:58.494 16851 17070 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()
05-26 19:18:58.494 16851 17070 I DOTNET : --- End of stack trace from previous location ---
05-26 19:18:58.494 16851 17070 I DOTNET : at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass32_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()
05-26 19:18:58.494 16851 17070 I DOTNET : --- End of stack trace from previous location ---
05-26 19:18:58.494 16851 17070 I DOTNET : at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
05-26 19:18:58.494 16851 17070 I DOTNET : --- End of stack trace from previous location ---
05-26 19:18:58.494 16851 17070 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()
05-26 19:18:58.494 16851 17070 I DOTNET : --- End of stack trace from previous location ---
05-26 19:18:58.494 16851 17070 I DOTNET : at Microsoft.Maui.DeviceTests.ShellTests.ShellBackgroundColorsEdgeToEdgeTopInsetArea()
05-26 19:18:58.494 16851 17070 I DOTNET : --- End of stack trace from previous location ---
05-26 19:18:58.494 16851 17070 I DOTNET : Execution time: 1.4707911
05-26 19:18:58.494 16851 17070 I DOTNET : Test trait name: Category
05-26 19:18:58.494 16851 17070 I DOTNET : value: Shell
05-26 19:18:58.494 16851 17070 I DOTNET : value: Shell
05-26 19:18:58.494 16851 17070 I DOTNET : value: Shell
05-26 19:18:58.494 16851 17070 I DOTNET : value: Shell
05-26 19:18:58.494 16851 17070 I DOTNET : value: Shell
05-26 19:18:58.494 16851 17070 I DOTNET :
05-26 19:18:59.493 16851 17075 I DOTNET : [PASS] ChangingToNewMauiContextDoesntCrash
05-26 19:18:59.780 16851 17080 I DOTNET : [PASS] FlyoutContent Renderers When FlyoutBehavior Starts As Locked
05-26 19:19:01.151 16851 17087 I DOTNET : [PASS] Flyout Footer and Default Flyout Items Render
05-26 19:19:01.463 16851 17092 I DOTNET : [PASS] Toolbar Title
05-26 19:19:02.041 16851 17098 I DOTNET : [PASS] LogicalChildrenPropagateCorrectly
05-26 19:19:03.000 16851 17103 I DOTNET : [PASS] Set Has Back Button
05-26 19:19:04.148 16851 17108 I DOTNET : [PASS] Flyout Header Changes When Updated
05-26 19:19:05.133 16851 17113 I DOTNET : [PASS] Navigating During Navigated Doesnt ReFire Appearing
05-26 19:19:06.064 16851 17118 I DOTNET : [PASS] Toolbar Title Updates
05-26 19:19:06.361 16851 17123 I DOTNET : [PASS] Title View Measures
05-26 19:19:06.886 16851 17128 I DOTNET : [PASS] Flyout Width Does Not Crash
05-26 19:19:10.235 16851 17133 I DOTNET : [PASS] PopToRootAsync correctly navigates to root page
05-26 19:19:14.758 16851 17139 I DOTNET : [PASS] ForegroundColor sets icon and title color sets title
05-26 19:19:15.446 16851 17144 I DOTNET : [PASS] LifeCycleEvents Fire When Navigating Top Tabs
05-26 19:19:15.679 16851 17149 I DOTNET : [PASS] Appearing Fires Before NavigatedTo
05-26 19:19:16.151 16851 17154 I DOTNET : [PASS] Swap Shell Root Page for NavigationPage
05-26 19:19:17.463 16851 17161 I DOTNET : [PASS] FlyoutItemsRenderWhenFlyoutHeaderIsSet
05-26 19:19:17.860 16851 17166 I DOTNET : [PASS] AddingBottomTabDoesntRecreateMenu
05-26 19:19:20.224 16851 17171 I DOTNET : [PASS] Flyout Starts as Open correctly
05-26 19:19:20.717 16851 17176 I DOTNET : [PASS] FlyoutWithAsMultipleItemsRendersWithoutCrashing
05-26 19:19:21.824 16851 17181 I DOTNET : [PASS] Correctly Adjust to Making Currently Visible Shell Page Invisible
05-26 19:19:22.140 16851 17186 I DOTNET : [PASS] Empty Shell
05-26 19:19:22.666 16851 17191 I DOTNET : [PASS] SearchHandlerRendersCorrectly
05-26 19:19:23.111 16851 17196 I DOTNET : [PASS] RemovingBottomTabDoesntRecreateMenu
05-26 19:19:24.754 16851 17203 I DOTNET : [PASS] HideSoftInputOnTapped Doesn't Crash If Entry Is Still Focused After Window Is Null
05-26 19:19:27.843 16851 17208 I DOTNET : [PASS] Pages Do Not Leak
05-26 19:19:28.324 16851 17213 I DOTNET : [PASS] FlyoutHeaderRendersCorrectSizeWithFlyoutContentSet
05-26 19:19:29.065 16851 17218 I DOTNET : [PASS] Shell add then remove items from selected item
05-26 19:19:33.564 16851 17225 I DOTNET : [PASS] Shell TabBar Foreground Initializes Correctly
05-26 19:19:38.057 16851 17232 I DOTNET : [PASS] Shell TabBar Foreground Initializes Correctly
05-26 19:19:39.202 16851 17240 I DOTNET : [PASS] FlyoutHeaderMinimumHeight
05-26 19:19:40.431 16851 17246 I DOTNET : [PASS] FlyoutHeaderMinimumHeight
05-26 19:19:41.465 16851 17252 I DOTNET : [PASS] FlyoutHeaderMinimumHeight
05-26 19:19:42.792 16851 17258 I DOTNET : [PASS] FlyoutHeaderMinimumHeight
05-26 19:19:43.192 16851 17263 I DOTNET : [PASS] CanHideNavBarShadow
05-26 19:19:43.717 16851 17268 I DOTNET : [PASS] CanHideNavBarShadow
05-26 19:19:48.241 16851 17274 I DOTNET : [PASS] Shell TabBar Title Color Initializes Correctly
05-26 19:19:52.724 16851 17280 I DOTNET : [PASS] Shell TabBar Title Color Initializes Correctly
05-26 19:19:53.157 16851 17285 I DOTNET : [PASS] FlyoutItems Render When FlyoutBehavior Starts As Locked
05-26 19:19:54.106 16851 17290 I DOTNET : [PASS] TitleView Updates to Currently Visible Page
05-26 19:19:55.109 16851 17295 I DOTNET : [PASS] SwappingOutAndroidContextDoesntCrash
05-26 19:19:57.564 16851 17300 I DOTNET : [PASS] Pushing the Same Page Disconnects Previous Toolbar Items
05-26 19:19:57.623 16851 17300 I DOTNET : Microsoft.Maui.DeviceTests.ShellTests 94.7383963 ms
05-26 19:19:57.627 16851 17300 I DOTNET : Test collection for Microsoft.Maui.DeviceTests.AlertDialogTests
05-26 19:19:57.748 16851 17300 I DOTNET : [PASS] AlertDialogButtonColorDarkTheme
05-26 19:19:57.815 16851 17300 I DOTNET : [PASS] AlertDialogButtonColorLightTheme
05-26 19:19:57.816 16851 17300 I DOTNET : Microsoft.Maui.DeviceTests.AlertDialogTests 0.1871083 ms
05-26 19:19:57.884 16851 16882 I DOTNET : Failed tests:
05-26 19:19:57.951 16851 16882 I DOTNET : 1) [FAIL] Shell background colors the edge-to-edge top inset area Test name: Shell background colors the edge-to-edge top inset area
05-26 19:19:57.951 16851 16882 I DOTNET : Assembly: [Microsoft.Maui.Controls.DeviceTests, Version=10.0.0.0, Culture=neutral, PublicKeyToken=null]
05-26 19:19:57.951 16851 16882 I DOTNET : Exception messages: Color Color [A=255, R=255, G=69, B=0] not found. This is what it looked like:<img>iVBORw0KGgoAAAANSUhEUgAABDgAAADSCAYAAACvgHB4AAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAABQpSURBVHic7d1psF5VgS7gN/NAAkkwA1MIJATQQEBIUBu5MkQZGsTWrm4Gaa4XGRSKqZWrImgaEaSFqIiKQ3OR60AJGBy4IAToJoDMoGlmpIUgdCAhhJBAcsj9sStl4Ozv5EzfSdbJ81SdKrLWXgNZ+bPfs9dafabsdeiqAAAAABSs77qeAAAAAEBXCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4gk4AAAAgOIJOAAAAIDiCTgAAACA4vVZNSOr1vUkAAAAALrCFxwAAABA8QQcAAAAQPEEHAAAAEDxBBwAAABA8QQcAAAAQPEEHAAAAEDxBB
05-26 19:19:57.951 16851 16882 I DOTNET : at System.Threading.Tasks.Task.<>c.<.cctor>b__288_0(Object obj)
05-26 19:19:57.951 16851 16882 I DOTNET : at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread , ExecutionContext , ContextCallback , Object )
05-26 19:19:57.951 16851 16882 I DOTNET : --- End of stack trace from previous location ---
05-26 19:19:57.951 16851 16882 I DOTNET : at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(Thread , ExecutionContext , ContextCallback , Object )
05-26 19:19:57.951 16851 16882 I DOTNET : at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& , Thread )
05-26 19:19:57.951 16851 16882 I DOTNET : --- End of stack trace from previous location ---
05-26 19:19:57.951 16851 16882 I DOTNET : at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.AssertAppBarTopInsetUsesColor(IElementHandler handler, Color expectedColor)
05-26 19:19:57.951 16851 16882 I DOTNET : at Microsoft.Maui.DeviceTests.ShellTests.<>c__DisplayClass31_0.<<ShellBackgroundColorsEdgeToEdgeTopInsetArea>b__0>d.MoveNext()
05-26 19:19:57.951 16851 16882 I DOTNET : --- End of stack trace from previous location ---
05-26 19:19:57.951 16851 16882 I DOTNET : at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass32_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()
05-26 19:19:57.951 16851 16882 I DOTNET : --- End of stack trace from previous location ---
05-26 19:19:57.951 16851 16882 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()
05-26 19:19:57.951 16851 16882 I DOTNET : --- End of stack trace from previous location ---
05-26 19:19:57.951 16851 16882 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()
05-26 19:19:57.951 16851 16882 I DOTNET : --- End of stack trace from previous location ---
05-26 19:19:57.951 16851 16882 I DOTNET : at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
05-26 19:19:57.951 16851 16882 I DOTNET : --- End of stack trace from previous location ---
05-26 19:19:57.951 16851 16882 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()
05-26 19:19:57.951 16851 16882 I DOTNET : --- End of stack trace from previous location ---
05-26 19:19:57.951 16851 16882 I DOTNET : at Microsoft.Maui.DeviceTests.ControlsHandlerTestBase.<>c__DisplayClass32_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()
05-26 19:19:57.951 16851 16882 I DOTNET : --- End of stack trace from previous location ---
05-26 19:19:57.951 16851 16882 I DOTNET : at Microsoft.Maui.Dispatching.DispatcherExtensions.<>c__DisplayClass3_0.<<DispatchAsync>b__0>d.MoveNext()
05-26 19:19:57.951 16851 16882 I DOTNET : --- End of stack trace from previous location ---
05-26 19:19:57.951 16851 16882 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()
05-26 19:19:57.951 16851 16882 I DOTNET : --- End of stack trace from previous location ---
05-26 19:19:57.951 16851 16882 I DOTNET : at Microsoft.Maui.DeviceTests.ShellTests.ShellBackgroundColorsEdgeToEdgeTopInsetArea()
05-26 19:19:57.951 16851 16882 I DOTNET : --- End of stack trace from previous location ---
05-26 19:19:57.951 16851 16882 I DOTNET : Execution time: 1.4707911
05-26 19:19:57.951 16851 16882 I DOTNET : Test trait name: Category
05-26 19:19:57.951 16851 16882 I DOTNET : value: Shell
05-26 19:19:57.951 16851 16882 I DOTNET : value: Shell
05-26 19:19:57.951 16851 16882 I DOTNET : value: Shell
05-26 19:19:57.951 16851 16882 I DOTNET : value: Shell
05-26 19:19:57.951 16851 16882 I DOTNET : value: Shell
05-26 19:19:57.951 16851 16882 I DOTNET :
05-26 19:19:58.108 16851 16882 I DOTNET : Xml file was written to the provided writer.
05-26 19:19:58.108 16851 16882 I DOTNET : Tests run: 573 Passed: 69 Inconclusive: 0 Failed: 1 Ignored: 503
�[41m�[30mfail�[39m�[22m�[49m: Non-success instrumentation exit code: 1, expected: 0
�[40m�[32minfo�[39m�[22m�[49m: <<XHARNESS_RESULT_START>>
{
"version": 1,
"machineName": "runnervmfuwn7",
"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 (ShellBackgroundColorsEdgeToEdgeTopInsetArea): PASS ✅ · 323s
(truncated to last 15,000 chars)
46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'TextInput'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Toolbar'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'TemplatedView'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'View'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'VisualElement'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'VisualElementTree'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'WebView'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Window'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'WindowOverlay'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Xaml'): [Memory] VisualDiagnosticsOverlay Does Not Leak
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Accessibility'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Application'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Behavior'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Border'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'BoxView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Button'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'CarouselView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'CheckBox'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'CollectionView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Compatibility'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'ContentView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'DatePicker'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Dispatcher'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Editor'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.167 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Element'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.168 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Entry'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.168 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'FlexLayout'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.168 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'FlyoutPage'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.168 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Frame'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.168 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Gesture'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.168 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'HybridWebView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.168 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Image'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.168 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Label'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.168 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Layout'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.168 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Lifecycle'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.168 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'ListView'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.168 22265 22293 I DOTNET : [FILTER] Included test (filtered by Trait; 'Category':'Map'): [Memory] TweenersWillNotLeakDuringInfiniteAnimation
05-26 19:46:16.222 22265 22293 I DOTNET : [Test environment: 64-bit .NET .NET 10.0 [collection-per-class, non-parallel]]
05-26 19:46:16.222 22265 22293 I DOTNET : [Test framework: xUnit.net 2.9.0.0]
05-26 19:46:16.270 22265 22293 I DOTNET : Test collection for Microsoft.Maui.DeviceTests.AlertDialogTests
05-26 19:46:16.440 22265 22293 I DOTNET : [PASS] AlertDialogButtonColorDarkTheme
05-26 19:46:16.613 22265 22293 I DOTNET : [PASS] AlertDialogButtonColorLightTheme
05-26 19:46:16.659 22265 22293 I DOTNET : Microsoft.Maui.DeviceTests.AlertDialogTests 0.2415132 ms
05-26 19:46:16.661 22265 22293 I DOTNET : Serialize test because it has to add itself to the main window
05-26 19:46:17.428 22265 22304 I DOTNET : [PASS] Can Clear ShellContent
05-26 19:46:18.611 22265 22311 I DOTNET : [PASS] FlyoutContentUpdatesAfterChange
05-26 19:46:19.067 22265 22316 I DOTNET : [PASS] Handlers not recreated when changing tabs
05-26 19:46:19.791 22265 22321 I DOTNET : [PASS] PageLayoutDoesNotExceedWindowBounds
05-26 19:46:20.183 22265 22326 I DOTNET : [PASS] Ensure Default Colors are White for BottomNavigationView
05-26 19:46:20.615 22265 22331 I DOTNET : [PASS] FooterTemplate Measures to Set Flyout Width When Flyout Locked
05-26 19:46:21.937 22265 22338 I DOTNET : [PASS] BasicShellNavigationStructurePermutations
05-26 19:46:22.744 22265 22343 I DOTNET : [PASS] BasicShellNavigationStructurePermutations
05-26 19:46:23.530 22265 22348 I DOTNET : [PASS] BasicShellNavigationStructurePermutations
05-26 19:46:24.378 22265 22353 I DOTNET : [PASS] BasicShellNavigationStructurePermutations
05-26 19:46:24.740 22265 22358 I DOTNET : [PASS] No crash going back using 'Shell.Current.GoToAsync("..")'
05-26 19:46:27.472 22265 22368 I DOTNET : [PASS] Can Reuse Pages
05-26 19:46:29.914 22265 22379 I DOTNET : [PASS] FlyoutCustomContentMargin
05-26 19:46:32.238 22265 22386 I DOTNET : [PASS] FlyoutCustomContentMargin
05-26 19:46:34.908 22265 22397 I DOTNET : [PASS] FlyoutCustomContentMargin
05-26 19:46:35.530 22265 22402 I DOTNET : [PASS] ChangingBottomTabAttributesDoesntRecreateBottomTabs
05-26 19:46:36.644 22265 22409 I DOTNET : [PASS] FlyoutIsPresented=true sets the visible status of the Shell Flyout.
05-26 19:46:37.500 22265 22414 I DOTNET : [PASS] ShellContentFragment.Destroy handles null _shellContext gracefully
05-26 19:46:38.641 22265 22419 I DOTNET : [PASS] Navigation Routes Correctly After Switching Flyout Items
05-26 19:46:40.011 22265 22424 I DOTNET : [PASS] Navigate to Root with BackButtonBehavior no Crash
05-26 19:46:44.377 22265 22431 I DOTNET : [PASS] Shell TabBar UnselectedColor Initializes Correctly
05-26 19:46:48.887 22265 22437 I DOTNET : [PASS] Shell TabBar UnselectedColor Initializes Correctly
05-26 19:46:50.051 22265 22442 I DOTNET : [PASS] Toolbar Title View Updates
05-26 19:46:50.489 22265 22447 I DOTNET : [PASS] Shell with Flyout Disabled Doesn't Render Flyout
05-26 19:46:52.014 22265 22452 I DOTNET : [PASS] Back Button Visibility Changes with push/pop
05-26 19:46:53.476 22265 22459 I DOTNET : [PASS] Shell background colors the edge-to-edge top inset area
05-26 19:46:54.583 22265 22464 I DOTNET : [PASS] ChangingToNewMauiContextDoesntCrash
05-26 19:46:54.976 22265 22469 I DOTNET : [PASS] FlyoutContent Renderers When FlyoutBehavior Starts As Locked
05-26 19:46:56.271 22265 22476 I DOTNET : [PASS] Flyout Footer and Default Flyout Items Render
05-26 19:46:56.685 22265 22481 I DOTNET : [PASS] Toolbar Title
05-26 19:46:57.191 22265 22487 I DOTNET : [PASS] LogicalChildrenPropagateCorrectly
05-26 19:46:58.088 22265 22492 I DOTNET : [PASS] Set Has Back Button
05-26 19:46:59.348 22265 22497 I DOTNET : [PASS] Flyout Header Changes When Updated
05-26 19:47:00.452 22265 22502 I DOTNET : [PASS] Navigating During Navigated Doesnt ReFire Appearing
05-26 19:47:01.648 22265 22508 I DOTNET : [PASS] Toolbar Title Updates
05-26 19:47:02.093 22265 22513 I DOTNET : [PASS] Title View Measures
05-26 19:47:02.482 22265 22518 I DOTNET : [PASS] Flyout Width Does Not Crash
05-26 19:47:05.931 22265 22523 I DOTNET : [PASS] PopToRootAsync correctly navigates to root page
05-26 19:47:10.241 22265 22529 I DOTNET : [PASS] ForegroundColor sets icon and title color sets title
05-26 19:47:10.966 22265 22534 I DOTNET : [PASS] LifeCycleEvents Fire When Navigating Top Tabs
05-26 19:47:11.439 22265 22539 I DOTNET : [PASS] Appearing Fires Before NavigatedTo
05-26 19:47:12.072 22265 22544 I DOTNET : [PASS] Swap Shell Root Page for NavigationPage
05-26 19:47:13.147 22265 22551 I DOTNET : [PASS] FlyoutItemsRenderWhenFlyoutHeaderIsSet
05-26 19:47:13.595 22265 22556 I DOTNET : [PASS] AddingBottomTabDoesntRecreateMenu
05-26 19:47:16.041 22265 22561 I DOTNET : [PASS] Flyout Starts as Open correctly
05-26 19:47:16.560 22265 22566 I DOTNET : [PASS] FlyoutWithAsMultipleItemsRendersWithoutCrashing
05-26 19:47:17.629 22265 22571 I DOTNET : [PASS] Correctly Adjust to Making Currently Visible Shell Page Invisible
05-26 19:47:18.133 22265 22576 I DOTNET : [PASS] Empty Shell
05-26 19:47:18.755 22265 22581 I DOTNET : [PASS] SearchHandlerRendersCorrectly
05-26 19:47:19.197 22265 22586 I DOTNET : [PASS] RemovingBottomTabDoesntRecreateMenu
05-26 19:47:20.775 22265 22593 I DOTNET : [PASS] HideSoftInputOnTapped Doesn't Crash If Entry Is Still Focused After Window Is Null
05-26 19:47:24.147 22265 22599 I DOTNET : [PASS] Pages Do Not Leak
05-26 19:47:24.591 22265 22604 I DOTNET : [PASS] FlyoutHeaderRendersCorrectSizeWithFlyoutContentSet
05-26 19:47:25.383 22265 22609 I DOTNET : [PASS] Shell add then remove items from selected item
05-26 19:47:29.908 22265 22615 I DOTNET : [PASS] Shell TabBar Foreground Initializes Correctly
05-26 19:47:34.374 22265 22621 I DOTNET : [PASS] Shell TabBar Foreground Initializes Correctly
05-26 19:47:35.664 22265 22629 I DOTNET : [PASS] FlyoutHeaderMinimumHeight
05-26 19:47:36.864 22265 22638 I DOTNET : [PASS] FlyoutHeaderMinimumHeight
05-26 19:47:38.048 22265 22644 I DOTNET : [PASS] FlyoutHeaderMinimumHeight
05-26 19:47:39.287 22265 22650 I DOTNET : [PASS] FlyoutHeaderMinimumHeight
05-26 19:47:39.810 22265 22655 I DOTNET : [PASS] CanHideNavBarShadow
05-26 19:47:40.277 22265 22660 I DOTNET : [PASS] CanHideNavBarShadow
05-26 19:47:44.742 22265 22666 I DOTNET : [PASS] Shell TabBar Title Color Initializes Correctly
05-26 19:47:49.242 22265 22672 I DOTNET : [PASS] Shell TabBar Title Color Initializes Correctly
05-26 19:47:49.691 22265 22677 I DOTNET : [PASS] FlyoutItems Render When FlyoutBehavior Starts As Locked
05-26 19:47:50.663 22265 22682 I DOTNET : [PASS] TitleView Updates to Currently Visible Page
05-26 19:47:51.669 22265 22687 I DOTNET : [PASS] SwappingOutAndroidContextDoesntCrash
05-26 19:47:54.099 22265 22692 I DOTNET : [PASS] Pushing the Same Page Disconnects Previous Toolbar Items
05-26 19:47:54.100 22265 22692 I DOTNET : Microsoft.Maui.DeviceTests.ShellTests 96.8834572 ms
05-26 19:47:54.219 22265 22425 I DOTNET : Xml file was written to the provided writer.
05-26 19:47:54.223 22265 22425 I DOTNET : Tests run: 573 Passed: 70 Inconclusive: 0 Failed: 0 Ignored: 503
�[40m�[32minfo�[39m�[22m�[49m: <<XHARNESS_RESULT_START>>
{
"version": 1,
"machineName": "runnervmfuwn7",
"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
📁 Fix files reverted (2 files)
eng/pipelines/ci-copilot.ymlsrc/Controls/src/Core/Platform/Android/Extensions/ToolbarExtensions.cs
🧪 UI Tests — Shell
Detected UI test categories: Shell
❌ Deep UI tests — 296 passed, 1 failed across 1 category on platform-pool agent (replaces in-process counts above).
🧪 UI Test Execution Results (deep, platform pool)
| Category | Tests | Snapshot diffs |
|---|---|---|
Shell |
296/297 (1 ❌) | — |
❌ Shell — 1 failed test
ClearAndRecreateShellElements
System.TimeoutException : Timed out waiting for element...
at UITest.Appium.HelperExtensions.Wait(Func`1 query, Func`2 satisfactory, String timeoutMessage, Nullable`1 timeout, Nullable`1 retryFrequency) in /_/src/TestUtils/src/UITest.Appium/HelperExtensions.cs:line 2757
at UITest.Appium.HelperExtensions.WaitForAtLeastOne(Func`1 query, String timeoutMessage, Nullable`1 timeout, Nullable`1 retryFrequency) in /_/src/TestUtils/src/UITest.Appium/HelperExtensions.cs:line 2784
at UITest.Appium.HelperExtensions.WaitForElement(IApp app, String marked, String timeoutMessage, Nullable`1 timeout, Nullable`1 retryFrequency, Nullable`1 postTimeout) in /_/src/TestUtils/src/UITest.Appium/HelperExtensions.cs:line 793
at Microsoft.Maui.TestCases.Tests.Issues.ShellItemIsVisible.ClearAndRecreateShellElements() in /_/src/Controls/tests/TestCases.Shared.Tests/Tests/Issues/XFIssue/ShellItemIsVisible.cs:line 66
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Method(Object obj, IntPtr* arg
...
📎 Download drop-deep-uitests artifact (TRX + snapshot diffs)
🔍 Regression Cross-Reference
🔍 Regression Cross-Reference
🟢 No regression risks detected. No labeled bug-fix PRs in the last 6 months touched the modified files.
🔍 Pre-Flight — Context & Validation
Issue: #35568 - Android Edge-to-Edge: Shell and NavigationPage Top Bar colour is not used for status bar.
PR: #35601 - Fix Android app bar inset background coloring
Platforms Affected: Android
Files Changed: 1 implementation, 3 test
Key Findings
- Issue Android Edge-to-Edge: Shell and NavigationPage Top Bar colour is not used for status bar. #35568 reports Android edge-to-edge top/status inset area uses the default theme
colorPrimary/AppBar color instead of the Shell or NavigationPage bar background. - PR Fix Android app bar inset background coloring #35601 updates Android
ToolbarExtensions.UpdateBarBackgroundto also update the parentAppBarLayoutbackground andStatusBarForeground, with a one-shot post retry when the toolbar is not attached yet. - The linked issue was verified on Android in MAUI 9.0.0, 9.0.120, 10.0.0, and 10.0.70; comments confirm both Shell and NavigationPage are affected.
- Gate result supplied by caller: ✅ PASSED — tests fail without the fix and pass with the fix. Gate was not re-run.
- Impacted UI test categories: Shell; NavigationPage is covered by Android device tests rather than the shared UI test category list.
Code Review Summary
Verdict: LGTM
Confidence: medium
Errors: 0 | Warnings: 2 | Suggestions: 0
Key code review findings:
⚠️ ToolbarExtensions.cs: the one-shotPostretry silently no-ops if the AppBar parent is still unavailable on the retry.⚠️ ControlsHandlerTestBase.Android.cs: the device assertion intentionally depends on a non-zero top inset, so failures may conflate inset dispatch with color validation.
Fix Candidates
| # | Source | Approach | Test Result | Files Changed | Notes |
|---|---|---|---|---|---|
| PR | PR #35601 | Sync Android parent AppBarLayout background and StatusBarForeground with MAUI toolbar background; snapshot default AppBar state for restore; retry once after toolbar attachment. |
✅ PASSED (Gate) | ToolbarExtensions.cs, Android device tests |
Original PR |
🔬 Code Review — Deep Analysis
Code Review — PR #35601
Independent Assessment
What this changes: Android toolbar background updates now also synchronize the parent AppBarLayout background and StatusBarForeground, so edge-to-edge top inset/status-bar space matches the MAUI toolbar background. The PR also adds Android device regression coverage for NavigationPage and Shell.
Inferred motivation: In Android edge-to-edge mode, the area behind the status bar/top inset is painted by the native app bar container rather than only the inner toolbar; changing only the toolbar background leaves that inset using the theme/default app bar color.
Reconciliation with PR Narrative
Author claims: Fixes Android app bar inset coloring for Shell/NavigationPage by syncing AppBarLayout background/status foreground and retrying after attachment, with Android device tests.
Agreement/disagreement: The narrative matches the implementation and linked issue. The approach targets the container responsible for painting the padded inset area.
Findings
⚠️ Warning — One-shot retry silently no-ops on a second parent miss
ToolbarExtensions.cs schedules one Post when the toolbar is not yet parented. If the posted callback still cannot locate an AppBarLayout, the update is lost until the next property mapper invocation. This appears low-risk for normal handler attachment timing and is not a correctness blocker.
⚠️ Warning — Device test combines inset availability and color validation
AssertAppBarTopInsetUsesColor waits for appBar.PaddingTop > 0 and toolbar tint before sampling pixels. That validates the target edge-to-edge path, but a configuration without top inset dispatch would fail before isolating color logic. The gate result supplied for this run already confirmed tests fail without the fix and pass with the fix.
Devil's Advocate
The warning about a one-shot retry is unlikely to affect normal MAUI Android toolbar setup because UpdateBarBackground will also run on future background changes, and the posted callback generally runs after parent attachment. The test's inset dependency is intentional for this regression because the bug only manifests in the top inset/status-bar area.
Verdict: LGTM
Confidence: medium
Summary: The PR's production change is targeted and consistent with Android AppBarLayout behavior. No blocking correctness issue was found; the warnings are diagnostics/test-isolation concerns rather than reasons to request code changes.
🔧 Fix — Analysis & Comparison
Fix Candidates
| # | Source | Approach | Test Result | Files Changed | Notes |
|---|---|---|---|---|---|
| 1 | try-fix | StatusBarForeground-only sync with one-shot attach listener. |
❌ FAILED | 1 file | Targeted command failed because Android instrumentation treated ` |
| 2 | try-fix | Mirror toolbar solid-color tint onto AppBarLayout.BackgroundTintList/Mode; no default-state cache. |
❌ FAILED | 1 file | NavigationPage device run built/deployed but hung beyond timeout; self-review found a major non-solid brush restore gap. |
| 3 | try-fix | Tint AppBarLayout background in place, set matching StatusBarForeground, and use attach listener instead of Post. |
1 file | Build-only passed; full device run skipped after attempt 2 hang. Self-review found listener accumulation and clone-restore concerns. | |
| 4 | try-fix | AppBarLayout background-only synchronization; omit StatusBarForeground. |
1 file | Build-only passed; self-review found stale/default StatusBarForeground overlay risk across Material themes. |
|
| 5 | try-fix | Mutate MaterialShapeDrawable.FillColor in place and set StatusBarForeground. |
1 file | Build-only passed; self-review found Material implementation coupling/shared-state and restore-path risks. | |
| PR | PR #35601 | Sync Android parent AppBarLayout background and StatusBarForeground, snapshot/restore default AppBar state, retry once after attach. |
✅ PASSED (Gate) | 4 files | Original PR; only fully validated fix from the loop. |
Cross-Pollination
| Model | Round | New Ideas? | Details |
|---|---|---|---|
| maui-expert-reviewer | 1 | Yes | Background-only synchronization; became attempt 4. |
| maui-expert-reviewer | 1 | Yes | MaterialShapeDrawable.FillColor mutation; became attempt 5. |
| maui-expert-reviewer | 1 | No | Remaining ToolbarExtensions-only strategies collapse to AppBarLayout background and/or StatusBarForeground; inset-routing would require Core MauiWindowInsetListener changes and incompatible test expectations. |
Exhausted: Yes
Selected Fix: PR #35601 — It is the only candidate with the supplied gate result proving tests fail without the fix and pass with it. All alternatives either failed empirical validation, were blocked after the Android instrumentation hang, or introduced expert-reviewed lifecycle/default-restore/theme-coupling risks. None was demonstrably better than the PR's direct AppBarLayout background + StatusBarForeground synchronization with default-state restoration.
📋 Report — Final Recommendation
Comparative Fix Report — PR #35601
Inputs
- Issue: Android Edge-to-Edge: Shell and NavigationPage Top Bar colour is not used for status bar. #35568 — Android edge-to-edge Shell and NavigationPage top/status inset area uses the default AppBar/theme color instead of the configured bar background.
- Platform: Android
- Gate: PASSED — supplied gate result says tests fail without the PR fix and pass with the PR fix. Gate verification was not rerun.
- Expert PR review:
maui-expert-reviewerfound no actionable inline findings;inline-findings.jsonis[].
Candidate comparison
| Rank | Candidate | Regression status | Assessment |
|---|---|---|---|
| 1 | pr |
PASS | Best candidate. It directly updates the parent AppBarLayout background and StatusBarForeground, snapshots/restores default AppBar state, handles solid and non-solid bar backgrounds, and is the only non-derived candidate with the supplied fail-without/pass-with gate result. |
| 2 | pr-plus-reviewer |
PASS | Equivalent to pr. The expert reviewer had no actionable feedback to apply, so this candidate has no diff over the raw PR and no advantage over it. |
| 3 | try-fix-1 |
Conflicting/failed candidate artifact; targeted individual artifact says PASS | StatusBarForeground-only synchronization is too narrow because the edge-to-edge top inset can be painted by AppBarLayout.Background. It also drops PR coverage for non-solid brushes and default-state restoration. Even if the targeted individual run is treated as passing, it is less complete than the PR fix. |
| 4 | try-fix-3 |
BLOCKED, build-only pass | Similar coverage to the PR but uses attach listeners that can accumulate when UpdateBarBackground runs repeatedly before attachment. It was not fully regression-tested after the Android instrumentation hang. |
| 5 | try-fix-4 |
BLOCKED, build-only pass | Simpler AppBarLayout background-only synchronization, but it leaves StatusBarForeground stale/default and is therefore less robust across Material theme configurations. |
| 6 | try-fix-5 |
BLOCKED, build-only pass | Mutating MaterialShapeDrawable.FillColor preserves more of the default drawable shape, but couples the fix to Material implementation details and still depends on cloneable restore paths. It was not fully regression-tested. |
| 7 | try-fix-2 |
FAIL / timeout | Failed empirical validation and has a known restore gap for non-solid brushes because clearing the bar background would not reliably restore the original Material/theme background. |
Decision
The winning candidate is pr.
pr-plus-reviewer is functionally identical because the expert reviewer found no actionable changes to apply. All try-fix alternatives are ranked below the PR fix because they either failed or were blocked in validation, or they introduce narrower Android AppBar/status-bar behavior with weaker default-state restoration. The supplied gate result makes the raw PR fix the strongest validated option.
|
Hi @kubaflo , Thank you |
kubaflo
left a comment
There was a problem hiding this comment.
Looks good! Could you please resolve conflicts, so that we can merge?
<!-- 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! Fixes #35568 ## Summary - sync the Android `AppBarLayout` background and status bar foreground with the MAUI toolbar background - retry the AppBar sync after the toolbar is attached so the real native parent AppBar gets updated - add Android device regression tests covering the edge-to-edge top inset area for both `NavigationPage` and `Shell` ## Testing - `dotnet build src/Controls/tests/DeviceTests/Controls.DeviceTests.csproj -c Release -f net10.0-android /p:TreatWarningsAsErrors=false /p:AndroidPackageFormat=apk` - `adb -s emulator-5554 shell am instrument -w -r -e TestFilter "Category=NavigationPage" com.microsoft.maui.controls.devicetests/com.microsoft.maui.controls.devicetests.TestInstrumentation` - `adb -s emulator-5554 shell am instrument -w -r -e TestFilter "Category=Shell" com.microsoft.maui.controls.devicetests/com.microsoft.maui.controls.devicetests.TestInstrumentation` ---------
…ring (#35856) <!-- 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! <!-- !!!!!!! MAIN IS THE ONLY ACTIVE BRANCH. MAKE SURE THIS PR IS TARGETING MAIN. !!!!!!! --> ### Issue Details The following Android UI tests fail due to changes introduced by #35601: - `TestIssue9419` - `ReusingNavigationPageDoesntBreakLayout` - `NavigationPageFeatureTests` These failures were observed in the candidate PR build and require further analysis. ### Reason PR #35601 introduces `AppBarLayout` background sync logic that interferes with existing navigation page layout behavior. Reverting to unblock the candidate branch while further investigation is conducted. A more comprehensive solution is being pursued in #35463 ("Make Android system chrome follow MAUI bar colors"), which takes a window-level approach rather than modifying `AppBarLayout` directly. ### Changes - Removed `AppBarLayout` background sync logic (`TryUpdateAppBarBackground`, `CloneDrawable`, `AppBarBackgroundState`) from `ToolbarExtensions.cs` - Removed `GetPlatformAppBarLayout` and `AssertAppBarTopInsetUsesColor` test helpers - Removed `BarBackgroundColorColorsEdgeToEdgeTopInsetArea` (NavigationPage) and `ShellBackgroundColorsEdgeToEdgeTopInsetArea` (Shell) tests
<!-- 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! Fixes #35568 ## Summary - sync the Android `AppBarLayout` background and status bar foreground with the MAUI toolbar background - retry the AppBar sync after the toolbar is attached so the real native parent AppBar gets updated - add Android device regression tests covering the edge-to-edge top inset area for both `NavigationPage` and `Shell` ## Testing - `dotnet build src/Controls/tests/DeviceTests/Controls.DeviceTests.csproj -c Release -f net10.0-android /p:TreatWarningsAsErrors=false /p:AndroidPackageFormat=apk` - `adb -s emulator-5554 shell am instrument -w -r -e TestFilter "Category=NavigationPage" com.microsoft.maui.controls.devicetests/com.microsoft.maui.controls.devicetests.TestInstrumentation` - `adb -s emulator-5554 shell am instrument -w -r -e TestFilter "Category=Shell" com.microsoft.maui.controls.devicetests/com.microsoft.maui.controls.devicetests.TestInstrumentation` ---------
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!
Fixes #35568
Summary
AppBarLayoutbackground and status bar foreground with the MAUI toolbar backgroundNavigationPageandShellTesting
dotnet build src/Controls/tests/DeviceTests/Controls.DeviceTests.csproj -c Release -f net10.0-android /p:TreatWarningsAsErrors=false /p:AndroidPackageFormat=apkadb -s emulator-5554 shell am instrument -w -r -e TestFilter "Category=NavigationPage" com.microsoft.maui.controls.devicetests/com.microsoft.maui.controls.devicetests.TestInstrumentationadb -s emulator-5554 shell am instrument -w -r -e TestFilter "Category=Shell" com.microsoft.maui.controls.devicetests/com.microsoft.maui.controls.devicetests.TestInstrumentation