[release/10.0.1xx-sr6] [Android] Material 3 Fixed BottomNavigationView overflowing in Tabbed page#35074
Conversation
|
/azp run maui-pr-uitests, maui-pr-devicetests |
|
Azure Pipelines successfully started running 2 pipeline(s). |
🤖 AI Summary
📊 Review Session —
|
| Check | Expected | Actual | Result |
|---|---|---|---|
| Tests WITHOUT fix | FAIL | FAIL | ✅ |
| Tests WITH fix | PASS | FAIL | ❌ |
❌ Final Verdict
VERIFICATION FAILED ❌
❌ Tests FAILED with fix (should have passed)
- The fix doesn't resolve the issue
- Tests may be broken or testing something else
Possible causes:
- Wrong fix files specified
- Tests don't actually test the fixed behavior
- The issue was already fixed in base branch
- Build caching - try clean rebuild
- Test needs different setup or conditions
Configuration
Platform: android
Test Filter: Issue35063
Base Branch: release/10.0.1xx-sr6
Merge Base: ee171ce
Fix Files
src/Controls/src/Core/Platform/Android/TabbedPageManager.cs
Test Results Details
Test Run 1: WITHOUT Fix
Expected: Tests should FAIL (bug is present)
Actual: Tests FAILED ✅
Test Summary:
- Total:
- Passed: False
- Failed:
- Skipped:
View full test output (without fix)
Determining projects to restore...
Restored /home/vsts/work/1/s/src/Core/maps/src/Maps.csproj (in 9.26 sec).
Restored /home/vsts/work/1/s/src/Controls/src/Xaml/Controls.Xaml.csproj (in 147 ms).
Restored /home/vsts/work/1/s/src/Graphics/src/Graphics/Graphics.csproj (in 20 ms).
Restored /home/vsts/work/1/s/src/Essentials/src/Essentials.csproj (in 40 ms).
Restored /home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj (in 9.82 sec).
Restored /home/vsts/work/1/s/src/Core/src/Core.csproj (in 94 ms).
Restored /home/vsts/work/1/s/src/Controls/src/Core/Controls.Core.csproj (in 48 ms).
Restored /home/vsts/work/1/s/src/Controls/Maps/src/Controls.Maps.csproj (in 37 ms).
Restored /home/vsts/work/1/s/src/Controls/src/BindingSourceGen/Controls.BindingSourceGen.csproj (in 51 ms).
Restored /home/vsts/work/1/s/src/Controls/Foldable/src/Controls.Foldable.csproj (in 46 ms).
Restored /home/vsts/work/1/s/src/BlazorWebView/src/Maui/Microsoft.AspNetCore.Components.WebView.Maui.csproj (in 73 ms).
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Graphics -> /home/vsts/work/1/s/artifacts/bin/Graphics/Debug/net10.0-android36.0/Microsoft.Maui.Graphics.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Essentials -> /home/vsts/work/1/s/artifacts/bin/Essentials/Debug/net10.0-android36.0/Microsoft.Maui.Essentials.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Core -> /home/vsts/work/1/s/artifacts/bin/Core/Debug/net10.0-android36.0/Microsoft.Maui.dll
Controls.BindingSourceGen -> /home/vsts/work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Maps -> /home/vsts/work/1/s/artifacts/bin/Maps/Debug/net10.0-android36.0/Microsoft.Maui.Maps.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Controls.Core -> /home/vsts/work/1/s/artifacts/bin/Controls.Core/Debug/net10.0-android36.0/Microsoft.Maui.Controls.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Controls.Foldable -> /home/vsts/work/1/s/artifacts/bin/Controls.Foldable/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Foldable.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Controls.Xaml -> /home/vsts/work/1/s/artifacts/bin/Controls.Xaml/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Xaml.dll
Microsoft.AspNetCore.Components.WebView.Maui -> /home/vsts/work/1/s/artifacts/bin/Microsoft.AspNetCore.Components.WebView.Maui/Debug/net10.0-android36.0/Microsoft.AspNetCore.Components.WebView.Maui.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Controls.Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.Maps/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Maps.dll
Controls.TestCases.HostApp -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Controls.TestCases.HostApp.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Graphics -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Graphics.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Essentials -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Essentials.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Core -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.dll
Controls.BindingSourceGen -> /home/vsts/work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Maps.dll
Controls.Core -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Controls.Xaml -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Xaml.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Microsoft.AspNetCore.Components.WebView.Maui -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.AspNetCore.Components.WebView.Maui.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Controls.Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Maps.dll
Controls.Foldable -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Foldable.dll
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: Mono.AndroidTools.InstallFailedException: Unexpected install output: cmd: Failure calling service package: Broken pipe (32) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at Mono.AndroidTools.Internal.AdbOutputParsing.CheckInstallSuccess(String output, String packageName) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at Mono.AndroidTools.AndroidDevice.<>c__DisplayClass105_0.<InstallPackage>b__0(Task`1 t) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: --- End of stack trace from previous location --- [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: --- End of stack trace from previous location --- [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at AndroidDeviceExtensions.PushAndInstallPackageAsync(AndroidDevice device, PushAndInstallCommand command, CancellationToken token) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at AndroidDeviceExtensions.PushAndInstallPackageAsync(AndroidDevice device, PushAndInstallCommand command, CancellationToken token) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at Xamarin.Android.Tasks.FastDeploy.InstallPackage(Boolean installed) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at Xamarin.Android.Tasks.FastDeploy.InstallPackage(Boolean installed) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at Xamarin.Android.Tasks.FastDeploy.RunInstall() [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
Build FAILED.
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: Mono.AndroidTools.InstallFailedException: Unexpected install output: cmd: Failure calling service package: Broken pipe (32) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at Mono.AndroidTools.Internal.AdbOutputParsing.CheckInstallSuccess(String output, String packageName) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at Mono.AndroidTools.AndroidDevice.<>c__DisplayClass105_0.<InstallPackage>b__0(Task`1 t) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: --- End of stack trace from previous location --- [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: --- End of stack trace from previous location --- [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at AndroidDeviceExtensions.PushAndInstallPackageAsync(AndroidDevice device, PushAndInstallCommand command, CancellationToken token) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at AndroidDeviceExtensions.PushAndInstallPackageAsync(AndroidDevice device, PushAndInstallCommand command, CancellationToken token) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at Xamarin.Android.Tasks.FastDeploy.InstallPackage(Boolean installed) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at Xamarin.Android.Tasks.FastDeploy.InstallPackage(Boolean installed) [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
/home/vsts/work/1/s/.dotnet/packs/Microsoft.Android.Sdk.Linux/36.1.2/tools/Xamarin.Android.Common.Debugging.targets(333,5): error ADB0010: at Xamarin.Android.Tasks.FastDeploy.RunInstall() [/home/vsts/work/1/s/src/Controls/tests/TestCases.HostApp/Controls.TestCases.HostApp.csproj::TargetFramework=net10.0-android]
0 Warning(s)
1 Error(s)
Time Elapsed 00:16:39.69
* daemon not running; starting now at tcp:5037
* daemon started successfully
Determining projects to restore...
All projects are up-to-date for restore.
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Graphics -> /home/vsts/work/1/s/artifacts/bin/Graphics/Debug/net10.0-android36.0/Microsoft.Maui.Graphics.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Essentials -> /home/vsts/work/1/s/artifacts/bin/Essentials/Debug/net10.0-android36.0/Microsoft.Maui.Essentials.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Core -> /home/vsts/work/1/s/artifacts/bin/Core/Debug/net10.0-android36.0/Microsoft.Maui.dll
Controls.BindingSourceGen -> /home/vsts/work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Maps -> /home/vsts/work/1/s/artifacts/bin/Maps/Debug/net10.0-android36.0/Microsoft.Maui.Maps.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Controls.Core -> /home/vsts/work/1/s/artifacts/bin/Controls.Core/Debug/net10.0-android36.0/Microsoft.Maui.Controls.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Controls.Foldable -> /home/vsts/work/1/s/artifacts/bin/Controls.Foldable/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Foldable.dll
Microsoft.AspNetCore.Components.WebView.Maui -> /home/vsts/work/1/s/artifacts/bin/Microsoft.AspNetCore.Components.WebView.Maui/Debug/net10.0-android36.0/Microsoft.AspNetCore.Components.WebView.Maui.dll
Controls.Xaml -> /home/vsts/work/1/s/artifacts/bin/Controls.Xaml/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Xaml.dll
Controls.Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.Maps/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Maps.dll
Controls.TestCases.HostApp -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Controls.TestCases.HostApp.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Graphics -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Graphics.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Essentials -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Essentials.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Core -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.dll
Controls.BindingSourceGen -> /home/vsts/work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Maps.dll
Controls.Core -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Microsoft.AspNetCore.Components.WebView.Maui -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.AspNetCore.Components.WebView.Maui.dll
Controls.Foldable -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Foldable.dll
Controls.Xaml -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Xaml.dll
Controls.Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Maps.dll
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:08:25.55
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
Test Run 2: WITH Fix
Expected: Tests should PASS (bug is fixed)
Actual: Tests FAILED ❌
Test Summary:
- Total:
- Passed: False
- Failed:
- Skipped:
View full test output (with fix)
Determining projects to restore...
All projects are up-to-date for restore.
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Graphics -> /home/vsts/work/1/s/artifacts/bin/Graphics/Debug/net10.0-android36.0/Microsoft.Maui.Graphics.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Essentials -> /home/vsts/work/1/s/artifacts/bin/Essentials/Debug/net10.0-android36.0/Microsoft.Maui.Essentials.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Core -> /home/vsts/work/1/s/artifacts/bin/Core/Debug/net10.0-android36.0/Microsoft.Maui.dll
Controls.BindingSourceGen -> /home/vsts/work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Maps -> /home/vsts/work/1/s/artifacts/bin/Maps/Debug/net10.0-android36.0/Microsoft.Maui.Maps.dll
Controls.Core -> /home/vsts/work/1/s/artifacts/bin/Controls.Core/Debug/net10.0-android36.0/Microsoft.Maui.Controls.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Microsoft.AspNetCore.Components.WebView.Maui -> /home/vsts/work/1/s/artifacts/bin/Microsoft.AspNetCore.Components.WebView.Maui/Debug/net10.0-android36.0/Microsoft.AspNetCore.Components.WebView.Maui.dll
Controls.Foldable -> /home/vsts/work/1/s/artifacts/bin/Controls.Foldable/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Foldable.dll
Controls.Xaml -> /home/vsts/work/1/s/artifacts/bin/Controls.Xaml/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Xaml.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Controls.Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.Maps/Debug/net10.0-android36.0/Microsoft.Maui.Controls.Maps.dll
Controls.TestCases.HostApp -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Controls.TestCases.HostApp.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Graphics -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Graphics.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Essentials -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Essentials.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Core -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Maps.dll
Controls.BindingSourceGen -> /home/vsts/work/1/s/artifacts/bin/Controls.BindingSourceGen/Debug/netstandard2.0/Microsoft.Maui.Controls.BindingSourceGen.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Controls.Core -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Microsoft.AspNetCore.Components.WebView.Maui -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.AspNetCore.Components.WebView.Maui.dll
Controls.Foldable -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Foldable.dll
Controls.Xaml -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Xaml.dll
##vso[build.updatebuildnumber]10.0.60+azdo.13910935
Controls.Maps -> /home/vsts/work/1/s/artifacts/bin/Controls.TestCases.HostApp/Debug/net10.0-android/Microsoft.Maui.Controls.Maps.dll
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:06:48.41
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
Broadcasting: Intent { act=android.intent.action.CLOSE_SYSTEM_DIALOGS flg=0x400000 }
Broadcast completed: result=0
Logs
- Full verification log:
/home/vsts/work/1/s/CustomAgentLogsTmp/PRState/35074/PRAgent/gate/verify-tests-fail/verification-log.txt - Test output without fix:
/home/vsts/work/1/s/CustomAgentLogsTmp/PRState/35074/PRAgent/gate/verify-tests-fail/test-without-fix.log - Test output with fix:
/home/vsts/work/1/s/CustomAgentLogsTmp/PRState/35074/PRAgent/gate/verify-tests-fail/test-with-fix.log - UI test logs:
CustomAgentLogsTmp/UITests/
🔍 Pre-Flight — Context & Validation
Issue: #35063 - [Android] Material3 - TabbedPage bottom tabs overflowing the contents
PR: #35074 - [release/10.0.1xx-sr6] [Android] Material 3 Fixed BottomNavigationView overflowing in Tabbed page (Backport of #35064)
Platforms Affected: Android only
Files Changed: 1 implementation, 3 test (2 .cs + 1 snapshot PNG)
Key Findings
- Backport PR targeting
release/10.0.1xx-sr6milestone (.NET 10 SR6) - One-line fix in
TabbedPageManager.SetTabLayout(): usesm3_bottom_nav_min_heightresource when Material3 is enabled,design_bottom_navigation_heightotherwise - Material3's bottom nav bar has a different height than M2; using M2 dimension with M3 causes content to be obscured below the tab bar
- Pattern is consistent with existing
RuntimeFeature.IsMaterial3Enabledusage throughout the Android platform code (13+ other usages) - Test uses
UITestCategories.Material3, screenshot-based test with snapshot inandroid-notch-36/directory - Gate FAILED: tests failed WITH fix applied — likely a snapshot mismatch (screenshot test with a new baseline image that doesn't match the actual render)
Code Review Summary
Verdict: LGTM
Confidence: high
Errors: 0 | Warnings: 0 | Suggestions: 1
Key code review findings:
- 💡
TabbedPageManager.cs:271— Minor readability: could separate resource ID selection into a variable to avoid repeated_context.Context.Resources.GetDimensionPixelSize(...)in ternary (functional correctness not affected)
Fix Candidates
| # | Source | Approach | Test Result | Files Changed | Notes |
|---|---|---|---|---|---|
| PR | PR #35074 | Use m3_bottom_nav_min_height dimension when IsMaterial3Enabled, fallback to design_bottom_navigation_height |
❌ FAILED (Gate) | TabbedPageManager.cs |
Screenshot test failing — snapshot mismatch likely |
🔬 Code Review — Deep Analysis
Code Review — PR #35074
Independent Assessment
What this changes: In TabbedPageManager.SetTabLayout(), the bottom content margin for bottom-tab placement previously always used design_bottom_navigation_height (the legacy Material2 resource). The change conditionally selects m3_bottom_nav_min_height when RuntimeFeature.IsMaterial3Enabled is true, falling back to the original value otherwise. A HostApp reproducer (Issue35063) and a Material3-categorized screenshot test are also added.
Inferred motivation: Material3's bottom navigation bar has a different height than the M2 design_bottom_navigation_height. Using the M2 dimension under M3 results in an incorrect bottom margin that doesn't fully clear the nav bar, causing content to be obscured/overflow underneath it.
Reconciliation with PR Narrative
Author claims: Backport of #35064. Fixes TabbedPage bottom tabs overflowing content when Material3 is enabled on Android. Switches to m3_bottom_nav_min_height for M3, keeps design_bottom_navigation_height for legacy.
Agreement: The code exactly matches the description. The before/after screenshots in the PR confirm the visual regression. No disagreement.
Findings
💡 Suggestion — Readability: duplicate _context.Context.Resources in ternary
TabbedPageManager.cs:271
The ternary is structured as:
SetContentBottomMargin(RuntimeFeature.IsMaterial3Enabled
? _context.Context.Resources.GetDimensionPixelSize(Resource.Dimension.m3_bottom_nav_min_height)
: _context.Context.Resources.GetDimensionPixelSize(Resource.Dimension.design_bottom_navigation_height));Since only one branch executes at runtime, this is not a JNI double-access bug. However, the shared _context.Context.Resources.GetDimensionPixelSize(...) call structure reads more clearly if the resource ID selection is separated:
var dimensionId = RuntimeFeature.IsMaterial3Enabled
? Resource.Dimension.m3_bottom_nav_min_height
: Resource.Dimension.design_bottom_navigation_height;
SetContentBottomMargin(_context.Context.Resources.GetDimensionPixelSize(dimensionId));This is a minor readability note. The current code is functionally correct and consistent with how the codebase handles one-time ternary Android resource lookups.
Devil's Advocate
- "Is
m3_bottom_nav_min_heightalways available?" — The resource is present in the Material3 library version used by the project. - "Could this regress non-M3 paths?" — No. The
elsebranch preserves the originaldesign_bottom_navigation_height, and the pre-existingif (_tabplacementId == id) return;guard is still in place to prevent redundant re-application. - "Is the snapshot in the right directory?" — Yes. All Material3 Android snapshots live in
android-notch-36/, notandroid/. The new baseline follows that convention exactly. - "Does the test verify the right thing?" —
VerifyScreenshot()afterWaitForElement("Label35063_1")catches visual overflow because the full-screen comparison will reflect whether the bottom nav bar occludes content. This is appropriate for a regression screenshot test. - "Is
#if ANDROIDwrapping the whole test file acceptable?" — Yes. This pattern is used widely for Android-only issues, andPlatformAffected.Androidon the HostApp page is consistent.
CI Status
All required checks — maui-pr, maui-pr-devicetests, maui-pr-uitests — are passing. ✅
Verdict: LGTM
Confidence: high
The one-line fix is minimal, correct, and follows the established RuntimeFeature.IsMaterial3Enabled branching pattern used throughout the Android platform code. The test is appropriately scoped to Android, categorized under Material3, and backed by a correctly-placed snapshot baseline. CI is fully green. The only note is a minor readability suggestion on the ternary expression.
🔧 Fix — Analysis & Comparison
Fix Candidates
| # | Source | Approach | Test Result | Files Changed | Notes |
|---|---|---|---|---|---|
| PR | PR #35074 | Use m3_bottom_nav_min_height dimension when M3 enabled |
❌ FAILED (Gate) | TabbedPageManager.cs |
Snapshot in wrong dir (android-notch-36/ vs android/) |
| 1 | try-fix (claude-opus-4.6) | Dynamic BottomNavigationView height via IOnLayoutChangeListener; position-based test assertions | ✅ PASS | TabbedPageManager.cs, Issue35063.cs (both) |
Theme-agnostic; eliminates snapshot dir issue |
| 2 | try-fix (claude-sonnet-4.6) | Force-measure BottomNavigationView (Measure(UNSPECIFIED)) to get intrinsic height; geometry test | ✅ PASS | TabbedPageManager.cs, Issue35063.cs (both) |
No explicit M3 branch; view self-reports height |
| 3 | try-fix (gpt-5.3-codex) | Use BottomNavigationView.MinimumHeight (theme-driven) with fallback; position-based test |
✅ PASS | TabbedPageManager.cs, Issue35063.cs (both) |
Pure theme query, no explicit M3 check |
| 4 | try-fix (gpt-5.4) | OnGlobalLayoutListener on root view; updates margin from actual navigationlayout_bottomtabs height |
✅ PASS | TabbedPageManager.cs, Issue35063.cs (both) |
Post-layout callback approach |
| 5 | try-fix (cross-poll / claude-opus-4.6) | CoordinatorLayout XML inset/dodge: remove SetContentBottomMargin() entirely; layout auto-handles it |
✅ PASS | navigationlayout.axml, TabbedPageManager.cs (-15 lines), Issue35063.cs (both) |
Most elegant — no code logic needed |
Cross-Pollination
| Model | Round | New Ideas? | Details |
|---|---|---|---|
| claude-opus-4.6 | 2 | Yes | CoordinatorLayout inset/dodge → ran as Attempt 5, PASSED |
| claude-sonnet-4.6 | 2 | Yes | Same CoordinatorLayout approach → covered by Attempt 5 |
| gpt-5.3-codex | 2 | Yes | Same CoordinatorLayout approach → covered by Attempt 5 |
| gpt-5.4 | 2 | Yes | Same CoordinatorLayout approach → covered by Attempt 5 |
| claude-sonnet-4.6 | 3 | Yes | WindowInsets propagation (minor variant of existing approaches) |
| gpt-5.3-codex | 3 | Yes | OnApplyWindowInsetsListener (minor variant of Attempt 4) |
| gpt-5.4 | 3 | Yes | Subclass BottomNavigationView + OnSizeChanged (minor variant of Attempt 1) |
| claude-opus-4.6 | 3 | No | NO NEW IDEAS |
Exhausted: Yes — round 3 suggestions are minor variations of already-passing approaches
Selected Fix: Candidate 5 (CoordinatorLayout XML inset/dodge) — Removes all manual margin logic by declaring CoordinatorLayout's built-in dependency between bottomtabs and content views. Most elegant, most robust, eliminates the fix entirely at the code level. Future-proof against any M2/M3/Mnext height changes. Also requires fixing the test to use position assertions (removes VerifyScreenshot dependency).
📋 Report — Final Recommendation
⚠️ Final Recommendation: REQUEST CHANGES
Phase Status
| Phase | Status | Notes |
|---|---|---|
| Pre-Flight | ✅ COMPLETE | Issue #35063 — Android Material3 TabbedPage bottom tab overflow |
| Code Review | LGTM (high) | 0 errors, 0 warnings, 1 suggestion |
| Gate | ❌ FAILED | android — screenshot baseline missing from android/ dir |
| Try-Fix | ✅ COMPLETE | 5 attempts, 5 passing (Candidate 5 selected as best) |
| Report | ✅ COMPLETE |
Code Review Impact on Try-Fix
Code review returned LGTM with high confidence — no errors or warnings to address. The single 💡 suggestion (readability: split the ternary's Resources.GetDimensionPixelSize() call into a variable) was informational only and did not influence fix approaches. Since code review found no issues, the try-fix models explored purely alternative strategies to address the gate failure (wrong snapshot directory) rather than any code correctness concern.
Summary
The PR's code fix is logically correct — using m3_bottom_nav_min_height instead of design_bottom_navigation_height for Material3 is the right dimension. However, the gate failed because the screenshot test baseline was committed to android-notch-36/ but the test environment (non-notch Android) looks in android/. The test sees "Baseline snapshot not yet created: .../snapshots/android/Material3_TabbedPage_BottomTabsOverflowingContents.png" and fails.
Try-Fix exploration found 5 independent passing fixes, all better than the PR's approach:
-
The best alternative (Candidate 5) uses CoordinatorLayout's built-in
layout_insetEdge/layout_dodgeInsetEdgesXML mechanism to eliminateSetContentBottomMargin()entirely — the layout system automatically keeps content above the bottom nav bar regardless of M2/M3/future height. This is more elegant, more robust, and removes ~15 lines of code. -
All passing candidates also changed the test from
VerifyScreenshot()to geometry/position-based assertions, which is more resilient and avoids snapshot directory mismatches.
Root Cause
- Bug:
TabbedPageManager.SetTabLayout()always useddesign_bottom_navigation_height(M2 resource) for bottom content margin, which is smaller than M3's actual nav bar height (m3_bottom_nav_min_height), causing the nav bar to overlap page content. - Test failure: The new screenshot baseline was added to
android-notch-36/but the CI/gate test environment uses theandroid/baseline directory. The test fails with "Baseline snapshot not yet created" rather than a visual mismatch.
Fix Quality
PR's fix: Logically correct but fragile — it hardcodes a resource name tied to a specific Material Design version. Future theme changes could break this again. The test also has a snapshot placement bug (wrong directory). This is actionable feedback: the snapshot needs to go in android/ too, OR the test should be converted to geometry assertions.
Best alternative (Candidate 5): CoordinatorLayout XML inset mechanism removes all margin logic. The content area automatically avoids the bottom nav bar based on its actual rendered size. Position-based test assertions are used instead of screenshot comparison, eliminating the snapshot directory issue entirely.
Recommendation for PR author:
- Either add the snapshot baseline to
android/as well (so the screenshot test passes in both device profiles), OR convert the test to position-based assertions (more robust, recommended) - Consider the CoordinatorLayout approach as a more future-proof alternative to the ternary dimension lookup
🧪 UI Tests — Category Detection & Results
Build #1391775 | ✅ passed | 319/319 passed (100%)
🎯 Detected categories: Material3 — ran 1 of 143 matrix cells (skipped 142)
Results by Platform
| Platform | Passed | Total |
|---|---|---|
| ✅ Material3 Android (API 36) | 319 | 319 |
Backport of #35064 to release/10.0.1xx-sr6
/cc @sheiksyedm @NirmalKumarYuvaraj
Output