Skip to content

[.NET11] Update android packages #33450

Merged
jfversluis merged 1 commit intodotnet:net11.0from
sheiksyedm:fix/update-material-slider-binding
Mar 17, 2026
Merged

[.NET11] Update android packages #33450
jfversluis merged 1 commit intodotnet:net11.0from
sheiksyedm:fix/update-material-slider-binding

Conversation

@sheiksyedm
Copy link
Copy Markdown
Contributor

@sheiksyedm sheiksyedm commented Jan 9, 2026

This pull request updates the minimum supported Android platform version across the codebase from API level 21 to API level 23 and upgrades several AndroidX and Google dependencies. It also includes minor code fixes to ensure compatibility with these changes and to prevent runtime errors.

Platform version updates:

  • Increased SupportedOSPlatformVersion and TargetPlatformMinVersion for Android from 21.0 to 23.0 in project and target files, affecting build requirements for all Android projects and templates. [1] [2] [3] [4] [5] [6] [7] [8] [9]

Dependency upgrades:

  • Updated AndroidX and Google dependencies in eng/AndroidX.targets to newer versions, including Xamarin.Android.Glide, Xamarin.AndroidX.Activity, Xamarin.AndroidX.Browser, and others; added a workaround for duplicate class errors with Xamarin.AndroidX.Compose.Runtime.Annotation.Jvm.

Code compatibility and bug fixes:

  • Improved null checks in LaunchChromeTabs in Browser.android.cs to prevent potential crashes when setting intent flags or launching URLs.
  • Simplified and removed outdated Android version checks in AreAnimationsEnabled() in PlatformTicker.Android.cs to align with the new minimum API level.## Summary

This PR updates Xamarin.Google.Android.Material from 1.12.0.5 to 1.13.0.1 to incorporate the fix for Material Slider's missing addOnChangeListener method from dotnet/android-libraries#1335. Also, updated the other packages inorder to avoid the dependency isuses.

Main reason for update packages:

The Material Slider binding was missing the addOnChangeListener method, which is required for properly handling slider value changes in .NET MAUI applications. This has been fixed in the latest android-libraries package release.

Related Issue: dotnet/android-libraries#1335

Copilot AI review requested due to automatic review settings January 9, 2026 16:49
@dotnet-policy-service dotnet-policy-service bot added the partner/syncfusion Issues / PR's with Syncfusion collaboration label Jan 9, 2026
@sheiksyedm sheiksyedm changed the title Update Material Design Bindings to Support Slider addOnChangeListener Update Xamarin.Google.Android.Material package to support Slider addOnChangeListener Jan 9, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the Xamarin.Google.Android.Material package from version 1.12.0.5 to 1.13.0.1 to incorporate a fix for the Material Slider's missing addOnChangeListener method from the android-libraries binding repository. The update requires coordinated dependency updates to resolve NuGet version conflicts.

Key Changes:

  • Primary package update: Material Design Components to 1.13.0.1
  • Required dependency updates: Activity 1.12.2, Lifecycle packages to 2.10.0
  • Addition of 7 Ktx packages as explicit references to override transitive dependency conflicts
  • Two new transitive dependencies: Graphics.Shapes and NavigationEvent

Reviewed changes

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

File Description
eng/AndroidX.targets Updated 3 package versions (Activity, LiveData, Material) and added 9 new package version entries (Ktx packages, Graphics.Shapes, NavigationEvent)
src/Core/src/Core.csproj Added 7 explicit PackageReference entries for Ktx packages to force correct versions and prevent NU1608 errors

@sheiksyedm sheiksyedm added material3 platform/android nuget Bumps for nuget packages labels Jan 9, 2026
sheiksyedm added a commit to sheiksyedm/maui that referenced this pull request Jan 12, 2026
This commit updates all Android/AndroidX NuGet packages to their latest stable
versions and removes unnecessary explicit package references that were added
as workarounds for version conflicts.

Package Updates (11 packages):
- Xamarin.Android.Glide: 4.16.0.14 → 5.0.5.1 (major update)
- Xamarin.AndroidX.Activity: 1.12.2 → 1.12.2.1
- Xamarin.AndroidX.Browser: 1.8.0.11 → 1.9.0.1
- Xamarin.AndroidX.DynamicAnimation: 1.1.0.3 → 1.1.0.4
- Xamarin.AndroidX.Lifecycle.LiveData: 2.10.0 → 2.10.0.1
- Xamarin.AndroidX.Navigation.*: 2.9.2.1 → 2.9.6.1 (4 packages)
- Xamarin.AndroidX.SwipeRefreshLayout: 1.1.0.29 → 1.2.0.1
- Xamarin.AndroidX.Transition: 1.6.0.1 → 1.6.0.2
- Xamarin.AndroidX.Window.WindowJava: 1.4.0.1 → 1.5.1.1
- Xamarin.Firebase.AppIndexing: 120.0.0.26 → 120.0.0.27
- Xamarin.Google.Crypto.Tink.Android: 1.18.0.1 → 1.20.0.1

Removed Unnecessary Packages (9 packages):
These were added in the original PR to avoid NU1608 version conflicts, but
are no longer needed with all packages updated to latest stable versions:
- Xamarin.AndroidX.Activity.Ktx (transitive dependency)
- Xamarin.AndroidX.Fragment.Ktx (transitive dependency)
- Xamarin.AndroidX.Graphics.Shapes (transitive from Material 1.13.0.1)
- Xamarin.AndroidX.Lifecycle.Process (transitive dependency)
- Xamarin.AndroidX.Lifecycle.Runtime.Ktx (transitive dependency)
- Xamarin.AndroidX.Lifecycle.Runtime.Ktx.Android (transitive dependency)
- Xamarin.AndroidX.Lifecycle.ViewModel.Ktx (transitive dependency)
- Xamarin.AndroidX.NavigationEvent (transitive from Material 1.13.0.1)
- Xamarin.AndroidX.SavedState.SavedState.Ktx (transitive dependency)

Removed Explicit References from Core.csproj (10 references):
The explicit Ktx and Navigation package references in Core.csproj were only
needed to force specific versions and avoid NU1608 conflicts. With all packages
at latest versions, these are now correctly resolved transitively.

Benefits:
- No NU1608 version conflicts
- All packages at latest stable versions
- Cleaner dependency management (fewer explicit package declarations)
- Latest bug fixes and features across Android ecosystem

Related: dotnet#33450
@sheiksyedm sheiksyedm changed the title Update Xamarin.Google.Android.Material package to support Slider addOnChangeListener Update android packages Jan 12, 2026
@jonathanpeppers
Copy link
Copy Markdown
Member

Ok, this might be an issue:

D:\a\_work\1\s\.dotnet\packs\Microsoft.Android.Sdk.Windows\36.1.2\tools\Xamarin.Android.Common.targets(1689,3): error XAAMM0000: D:\a\_work\1\s\artifacts\obj\Core.DeviceTests\Debug\net10.0-android\AndroidManifest.xml:9:3-72 Error: [D:\a\_work\1\s\src\Core\tests\DeviceTests\Core.DeviceTests.csproj::TargetFramework=net10.0-android]
D:\a\_work\1\s\.dotnet\packs\Microsoft.Android.Sdk.Windows\36.1.2\tools\Xamarin.Android.Common.targets(1689,3): error XAAMM0000: 	uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library D:\a\_work\1\s\artifacts\obj\Core.DeviceTests\Debug\net10.0-android\lp\112\jl\AndroidManifest.xml as the library might be using APIs not available in 21 [D:\a\_work\1\s\src\Core\tests\DeviceTests\Core.DeviceTests.csproj::TargetFramework=net10.0-android]
D:\a\_work\1\s\.dotnet\packs\Microsoft.Android.Sdk.Windows\36.1.2\tools\Xamarin.Android.Common.targets(1689,3): error XAAMM0000: 	Suggestion: use a compatible library with a minSdk of at most 21, [D:\a\_work\1\s\src\Core\tests\DeviceTests\Core.DeviceTests.csproj::TargetFramework=net10.0-android]
D:\a\_work\1\s\.dotnet\packs\Microsoft.Android.Sdk.Windows\36.1.2\tools\Xamarin.Android.Common.targets(1689,3): error XAAMM0000: 		or increase this project's minSdk version to at least 23, [D:\a\_work\1\s\src\Core\tests\DeviceTests\Core.DeviceTests.csproj::TargetFramework=net10.0-android]
D:\a\_work\1\s\.dotnet\packs\Microsoft.Android.Sdk.Windows\36.1.2\tools\Xamarin.Android.Common.targets(1689,3): error XAAMM0000: 		or use tools:overrideLibrary="androidx.lifecycle.runtime" to force usage (may lead to runtime failures) [D:\a\_work\1\s\src\Core\tests\DeviceTests\Core.DeviceTests.csproj::TargetFramework=net10.0-android]

This means some of these newer .aar files have this inside:

<uses-sdk android:minSdkVersion="23" />

To get this to be green here, each project with an error we can change to:

<SupportedOSPlatformVersion>23</SupportedOSPlatformVersion>

But the problem is this will effectively make .NET MAUI's min API level 23, and 21 won't work anymore...

sheiksyedm added a commit to sheiksyedm/maui that referenced this pull request Jan 14, 2026
Glide 5.0.5.1 requires minSdkVersion 23 (Android 6.0+) which would be a
breaking change for MAUI that currently supports minSdkVersion 21 (Android 5.0+).

Reverting Glide to 4.16.0.14 while keeping all other package updates resolves
the PR build failures without introducing breaking changes.

Error that was occurring with Glide 5.0.5.1:
  XAAMM0000: uses-sdk:minSdkVersion 21 cannot be smaller than version 23
  declared in library

Package status after revert:
- Xamarin.Android.Glide: 4.16.0.14 (kept at current version)
- 10 other Android packages: Updated to latest versions
- No NU1608 version conflicts
- No minSdkVersion errors

Related: dotnet#33450
sheiksyedm added a commit to sheiksyedm/maui that referenced this pull request Jan 14, 2026
This commit updates all Android/AndroidX NuGet packages to their latest stable
versions and removes unnecessary explicit package references that were added
as workarounds for version conflicts.

Package Updates (11 packages):
- Xamarin.Android.Glide: 4.16.0.14 → 5.0.5.1 (major update)
- Xamarin.AndroidX.Activity: 1.12.2 → 1.12.2.1
- Xamarin.AndroidX.Browser: 1.8.0.11 → 1.9.0.1
- Xamarin.AndroidX.DynamicAnimation: 1.1.0.3 → 1.1.0.4
- Xamarin.AndroidX.Lifecycle.LiveData: 2.10.0 → 2.10.0.1
- Xamarin.AndroidX.Navigation.*: 2.9.2.1 → 2.9.6.1 (4 packages)
- Xamarin.AndroidX.SwipeRefreshLayout: 1.1.0.29 → 1.2.0.1
- Xamarin.AndroidX.Transition: 1.6.0.1 → 1.6.0.2
- Xamarin.AndroidX.Window.WindowJava: 1.4.0.1 → 1.5.1.1
- Xamarin.Firebase.AppIndexing: 120.0.0.26 → 120.0.0.27
- Xamarin.Google.Crypto.Tink.Android: 1.18.0.1 → 1.20.0.1

Removed Unnecessary Packages (9 packages):
These were added in the original PR to avoid NU1608 version conflicts, but
are no longer needed with all packages updated to latest stable versions:
- Xamarin.AndroidX.Activity.Ktx (transitive dependency)
- Xamarin.AndroidX.Fragment.Ktx (transitive dependency)
- Xamarin.AndroidX.Graphics.Shapes (transitive from Material 1.13.0.1)
- Xamarin.AndroidX.Lifecycle.Process (transitive dependency)
- Xamarin.AndroidX.Lifecycle.Runtime.Ktx (transitive dependency)
- Xamarin.AndroidX.Lifecycle.Runtime.Ktx.Android (transitive dependency)
- Xamarin.AndroidX.Lifecycle.ViewModel.Ktx (transitive dependency)
- Xamarin.AndroidX.NavigationEvent (transitive from Material 1.13.0.1)
- Xamarin.AndroidX.SavedState.SavedState.Ktx (transitive dependency)

Removed Explicit References from Core.csproj (10 references):
The explicit Ktx and Navigation package references in Core.csproj were only
needed to force specific versions and avoid NU1608 conflicts. With all packages
at latest versions, these are now correctly resolved transitively.

Benefits:
- No NU1608 version conflicts
- All packages at latest stable versions
- Cleaner dependency management (fewer explicit package declarations)
- Latest bug fixes and features across Android ecosystem

Related: dotnet#33450
sheiksyedm added a commit to sheiksyedm/maui that referenced this pull request Jan 14, 2026
Glide 5.0.5.1 requires minSdkVersion 23 (Android 6.0+) which would be a
breaking change for MAUI that currently supports minSdkVersion 21 (Android 5.0+).

Reverting Glide to 4.16.0.14 while keeping all other package updates resolves
the PR build failures without introducing breaking changes.

Error that was occurring with Glide 5.0.5.1:
  XAAMM0000: uses-sdk:minSdkVersion 21 cannot be smaller than version 23
  declared in library

Package status after revert:
- Xamarin.Android.Glide: 4.16.0.14 (kept at current version)
- 10 other Android packages: Updated to latest versions
- No NU1608 version conflicts
- No minSdkVersion errors

Related: dotnet#33450
@sheiksyedm sheiksyedm force-pushed the fix/update-material-slider-binding branch from c6c5b38 to 4dc0385 Compare January 14, 2026 14:35
Copy link
Copy Markdown
Member

@jonathanpeppers jonathanpeppers left a comment

Choose a reason for hiding this comment

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

Can you retarget to the net11.0 branch?

@sheiksyedm sheiksyedm changed the base branch from main to net11.0 January 30, 2026 14:47
sheiksyedm added a commit to sheiksyedm/maui that referenced this pull request Jan 30, 2026
This commit updates all Android/AndroidX NuGet packages to their latest stable
versions and removes unnecessary explicit package references that were added
as workarounds for version conflicts.

Package Updates (11 packages):
- Xamarin.Android.Glide: 4.16.0.14 → 5.0.5.1 (major update)
- Xamarin.AndroidX.Activity: 1.12.2 → 1.12.2.1
- Xamarin.AndroidX.Browser: 1.8.0.11 → 1.9.0.1
- Xamarin.AndroidX.DynamicAnimation: 1.1.0.3 → 1.1.0.4
- Xamarin.AndroidX.Lifecycle.LiveData: 2.10.0 → 2.10.0.1
- Xamarin.AndroidX.Navigation.*: 2.9.2.1 → 2.9.6.1 (4 packages)
- Xamarin.AndroidX.SwipeRefreshLayout: 1.1.0.29 → 1.2.0.1
- Xamarin.AndroidX.Transition: 1.6.0.1 → 1.6.0.2
- Xamarin.AndroidX.Window.WindowJava: 1.4.0.1 → 1.5.1.1
- Xamarin.Firebase.AppIndexing: 120.0.0.26 → 120.0.0.27
- Xamarin.Google.Crypto.Tink.Android: 1.18.0.1 → 1.20.0.1

Removed Unnecessary Packages (9 packages):
These were added in the original PR to avoid NU1608 version conflicts, but
are no longer needed with all packages updated to latest stable versions:
- Xamarin.AndroidX.Activity.Ktx (transitive dependency)
- Xamarin.AndroidX.Fragment.Ktx (transitive dependency)
- Xamarin.AndroidX.Graphics.Shapes (transitive from Material 1.13.0.1)
- Xamarin.AndroidX.Lifecycle.Process (transitive dependency)
- Xamarin.AndroidX.Lifecycle.Runtime.Ktx (transitive dependency)
- Xamarin.AndroidX.Lifecycle.Runtime.Ktx.Android (transitive dependency)
- Xamarin.AndroidX.Lifecycle.ViewModel.Ktx (transitive dependency)
- Xamarin.AndroidX.NavigationEvent (transitive from Material 1.13.0.1)
- Xamarin.AndroidX.SavedState.SavedState.Ktx (transitive dependency)

Removed Explicit References from Core.csproj (10 references):
The explicit Ktx and Navigation package references in Core.csproj were only
needed to force specific versions and avoid NU1608 conflicts. With all packages
at latest versions, these are now correctly resolved transitively.

Benefits:
- No NU1608 version conflicts
- All packages at latest stable versions
- Cleaner dependency management (fewer explicit package declarations)
- Latest bug fixes and features across Android ecosystem

Related: dotnet#33450
sheiksyedm added a commit to sheiksyedm/maui that referenced this pull request Jan 30, 2026
Glide 5.0.5.1 requires minSdkVersion 23 (Android 6.0+) which would be a
breaking change for MAUI that currently supports minSdkVersion 21 (Android 5.0+).

Reverting Glide to 4.16.0.14 while keeping all other package updates resolves
the PR build failures without introducing breaking changes.

Error that was occurring with Glide 5.0.5.1:
  XAAMM0000: uses-sdk:minSdkVersion 21 cannot be smaller than version 23
  declared in library

Package status after revert:
- Xamarin.Android.Glide: 4.16.0.14 (kept at current version)
- 10 other Android packages: Updated to latest versions
- No NU1608 version conflicts
- No minSdkVersion errors

Related: dotnet#33450
@sheiksyedm sheiksyedm changed the title Update android packages [.NET11] Update android packages Jan 30, 2026
@rmarinho
Copy link
Copy Markdown
Member

/rebase

sheiksyedm added a commit to sheiksyedm/maui that referenced this pull request Feb 2, 2026
This commit updates all Android/AndroidX NuGet packages to their latest stable
versions and removes unnecessary explicit package references that were added
as workarounds for version conflicts.

Package Updates (11 packages):
- Xamarin.Android.Glide: 4.16.0.14 → 5.0.5.1 (major update)
- Xamarin.AndroidX.Activity: 1.12.2 → 1.12.2.1
- Xamarin.AndroidX.Browser: 1.8.0.11 → 1.9.0.1
- Xamarin.AndroidX.DynamicAnimation: 1.1.0.3 → 1.1.0.4
- Xamarin.AndroidX.Lifecycle.LiveData: 2.10.0 → 2.10.0.1
- Xamarin.AndroidX.Navigation.*: 2.9.2.1 → 2.9.6.1 (4 packages)
- Xamarin.AndroidX.SwipeRefreshLayout: 1.1.0.29 → 1.2.0.1
- Xamarin.AndroidX.Transition: 1.6.0.1 → 1.6.0.2
- Xamarin.AndroidX.Window.WindowJava: 1.4.0.1 → 1.5.1.1
- Xamarin.Firebase.AppIndexing: 120.0.0.26 → 120.0.0.27
- Xamarin.Google.Crypto.Tink.Android: 1.18.0.1 → 1.20.0.1

Removed Unnecessary Packages (9 packages):
These were added in the original PR to avoid NU1608 version conflicts, but
are no longer needed with all packages updated to latest stable versions:
- Xamarin.AndroidX.Activity.Ktx (transitive dependency)
- Xamarin.AndroidX.Fragment.Ktx (transitive dependency)
- Xamarin.AndroidX.Graphics.Shapes (transitive from Material 1.13.0.1)
- Xamarin.AndroidX.Lifecycle.Process (transitive dependency)
- Xamarin.AndroidX.Lifecycle.Runtime.Ktx (transitive dependency)
- Xamarin.AndroidX.Lifecycle.Runtime.Ktx.Android (transitive dependency)
- Xamarin.AndroidX.Lifecycle.ViewModel.Ktx (transitive dependency)
- Xamarin.AndroidX.NavigationEvent (transitive from Material 1.13.0.1)
- Xamarin.AndroidX.SavedState.SavedState.Ktx (transitive dependency)

Removed Explicit References from Core.csproj (10 references):
The explicit Ktx and Navigation package references in Core.csproj were only
needed to force specific versions and avoid NU1608 conflicts. With all packages
at latest versions, these are now correctly resolved transitively.

Benefits:
- No NU1608 version conflicts
- All packages at latest stable versions
- Cleaner dependency management (fewer explicit package declarations)
- Latest bug fixes and features across Android ecosystem

Related: dotnet#33450
sheiksyedm added a commit to sheiksyedm/maui that referenced this pull request Feb 2, 2026
Glide 5.0.5.1 requires minSdkVersion 23 (Android 6.0+) which would be a
breaking change for MAUI that currently supports minSdkVersion 21 (Android 5.0+).

Reverting Glide to 4.16.0.14 while keeping all other package updates resolves
the PR build failures without introducing breaking changes.

Error that was occurring with Glide 5.0.5.1:
  XAAMM0000: uses-sdk:minSdkVersion 21 cannot be smaller than version 23
  declared in library

Package status after revert:
- Xamarin.Android.Glide: 4.16.0.14 (kept at current version)
- 10 other Android packages: Updated to latest versions
- No NU1608 version conflicts
- No minSdkVersion errors

Related: dotnet#33450
@sheiksyedm sheiksyedm force-pushed the fix/update-material-slider-binding branch from efc0fa7 to f894047 Compare February 2, 2026 15:11
@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 2 pipeline(s).

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 3, 2026

🚀 Dogfood this PR with:

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

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

Or

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

@sheiksyedm sheiksyedm force-pushed the fix/update-material-slider-binding branch from 92bbd2c to dca3c9d Compare March 3, 2026 15:59
sheiksyedm added a commit to sheiksyedm/maui that referenced this pull request Mar 3, 2026
This commit updates all Android/AndroidX NuGet packages to their latest stable
versions and removes unnecessary explicit package references that were added
as workarounds for version conflicts.

Package Updates (11 packages):
- Xamarin.Android.Glide: 4.16.0.14 → 5.0.5.1 (major update)
- Xamarin.AndroidX.Activity: 1.12.2 → 1.12.2.1
- Xamarin.AndroidX.Browser: 1.8.0.11 → 1.9.0.1
- Xamarin.AndroidX.DynamicAnimation: 1.1.0.3 → 1.1.0.4
- Xamarin.AndroidX.Lifecycle.LiveData: 2.10.0 → 2.10.0.1
- Xamarin.AndroidX.Navigation.*: 2.9.2.1 → 2.9.6.1 (4 packages)
- Xamarin.AndroidX.SwipeRefreshLayout: 1.1.0.29 → 1.2.0.1
- Xamarin.AndroidX.Transition: 1.6.0.1 → 1.6.0.2
- Xamarin.AndroidX.Window.WindowJava: 1.4.0.1 → 1.5.1.1
- Xamarin.Firebase.AppIndexing: 120.0.0.26 → 120.0.0.27
- Xamarin.Google.Crypto.Tink.Android: 1.18.0.1 → 1.20.0.1

Removed Unnecessary Packages (9 packages):
These were added in the original PR to avoid NU1608 version conflicts, but
are no longer needed with all packages updated to latest stable versions:
- Xamarin.AndroidX.Activity.Ktx (transitive dependency)
- Xamarin.AndroidX.Fragment.Ktx (transitive dependency)
- Xamarin.AndroidX.Graphics.Shapes (transitive from Material 1.13.0.1)
- Xamarin.AndroidX.Lifecycle.Process (transitive dependency)
- Xamarin.AndroidX.Lifecycle.Runtime.Ktx (transitive dependency)
- Xamarin.AndroidX.Lifecycle.Runtime.Ktx.Android (transitive dependency)
- Xamarin.AndroidX.Lifecycle.ViewModel.Ktx (transitive dependency)
- Xamarin.AndroidX.NavigationEvent (transitive from Material 1.13.0.1)
- Xamarin.AndroidX.SavedState.SavedState.Ktx (transitive dependency)

Removed Explicit References from Core.csproj (10 references):
The explicit Ktx and Navigation package references in Core.csproj were only
needed to force specific versions and avoid NU1608 conflicts. With all packages
at latest versions, these are now correctly resolved transitively.

Benefits:
- No NU1608 version conflicts
- All packages at latest stable versions
- Cleaner dependency management (fewer explicit package declarations)
- Latest bug fixes and features across Android ecosystem

Related: dotnet#33450
sheiksyedm added a commit to sheiksyedm/maui that referenced this pull request Mar 3, 2026
Glide 5.0.5.1 requires minSdkVersion 23 (Android 6.0+) which would be a
breaking change for MAUI that currently supports minSdkVersion 21 (Android 5.0+).

Reverting Glide to 4.16.0.14 while keeping all other package updates resolves
the PR build failures without introducing breaking changes.

Error that was occurring with Glide 5.0.5.1:
  XAAMM0000: uses-sdk:minSdkVersion 21 cannot be smaller than version 23
  declared in library

Package status after revert:
- Xamarin.Android.Glide: 4.16.0.14 (kept at current version)
- 10 other Android packages: Updated to latest versions
- No NU1608 version conflicts
- No minSdkVersion errors

Related: dotnet#33450
sheiksyedm added a commit to sheiksyedm/maui that referenced this pull request Mar 3, 2026
This commit updates all Android/AndroidX NuGet packages to their latest stable
versions and removes unnecessary explicit package references that were added
as workarounds for version conflicts.

Package Updates (11 packages):
- Xamarin.Android.Glide: 4.16.0.14 → 5.0.5.1 (major update)
- Xamarin.AndroidX.Activity: 1.12.2 → 1.12.2.1
- Xamarin.AndroidX.Browser: 1.8.0.11 → 1.9.0.1
- Xamarin.AndroidX.DynamicAnimation: 1.1.0.3 → 1.1.0.4
- Xamarin.AndroidX.Lifecycle.LiveData: 2.10.0 → 2.10.0.1
- Xamarin.AndroidX.Navigation.*: 2.9.2.1 → 2.9.6.1 (4 packages)
- Xamarin.AndroidX.SwipeRefreshLayout: 1.1.0.29 → 1.2.0.1
- Xamarin.AndroidX.Transition: 1.6.0.1 → 1.6.0.2
- Xamarin.AndroidX.Window.WindowJava: 1.4.0.1 → 1.5.1.1
- Xamarin.Firebase.AppIndexing: 120.0.0.26 → 120.0.0.27
- Xamarin.Google.Crypto.Tink.Android: 1.18.0.1 → 1.20.0.1

Removed Unnecessary Packages (9 packages):
These were added in the original PR to avoid NU1608 version conflicts, but
are no longer needed with all packages updated to latest stable versions:
- Xamarin.AndroidX.Activity.Ktx (transitive dependency)
- Xamarin.AndroidX.Fragment.Ktx (transitive dependency)
- Xamarin.AndroidX.Graphics.Shapes (transitive from Material 1.13.0.1)
- Xamarin.AndroidX.Lifecycle.Process (transitive dependency)
- Xamarin.AndroidX.Lifecycle.Runtime.Ktx (transitive dependency)
- Xamarin.AndroidX.Lifecycle.Runtime.Ktx.Android (transitive dependency)
- Xamarin.AndroidX.Lifecycle.ViewModel.Ktx (transitive dependency)
- Xamarin.AndroidX.NavigationEvent (transitive from Material 1.13.0.1)
- Xamarin.AndroidX.SavedState.SavedState.Ktx (transitive dependency)

Removed Explicit References from Core.csproj (10 references):
The explicit Ktx and Navigation package references in Core.csproj were only
needed to force specific versions and avoid NU1608 conflicts. With all packages
at latest versions, these are now correctly resolved transitively.

Benefits:
- No NU1608 version conflicts
- All packages at latest stable versions
- Cleaner dependency management (fewer explicit package declarations)
- Latest bug fixes and features across Android ecosystem

Related: dotnet#33450
sheiksyedm added a commit to sheiksyedm/maui that referenced this pull request Mar 3, 2026
Glide 5.0.5.1 requires minSdkVersion 23 (Android 6.0+) which would be a
breaking change for MAUI that currently supports minSdkVersion 21 (Android 5.0+).

Reverting Glide to 4.16.0.14 while keeping all other package updates resolves
the PR build failures without introducing breaking changes.

Error that was occurring with Glide 5.0.5.1:
  XAAMM0000: uses-sdk:minSdkVersion 21 cannot be smaller than version 23
  declared in library

Package status after revert:
- Xamarin.Android.Glide: 4.16.0.14 (kept at current version)
- 10 other Android packages: Updated to latest versions
- No NU1608 version conflicts
- No minSdkVersion errors

Related: dotnet#33450
sheiksyedm added a commit to sheiksyedm/maui that referenced this pull request Mar 10, 2026
This commit updates all Android/AndroidX NuGet packages to their latest stable
versions and removes unnecessary explicit package references that were added
as workarounds for version conflicts.

Package Updates (11 packages):
- Xamarin.Android.Glide: 4.16.0.14 → 5.0.5.1 (major update)
- Xamarin.AndroidX.Activity: 1.12.2 → 1.12.2.1
- Xamarin.AndroidX.Browser: 1.8.0.11 → 1.9.0.1
- Xamarin.AndroidX.DynamicAnimation: 1.1.0.3 → 1.1.0.4
- Xamarin.AndroidX.Lifecycle.LiveData: 2.10.0 → 2.10.0.1
- Xamarin.AndroidX.Navigation.*: 2.9.2.1 → 2.9.6.1 (4 packages)
- Xamarin.AndroidX.SwipeRefreshLayout: 1.1.0.29 → 1.2.0.1
- Xamarin.AndroidX.Transition: 1.6.0.1 → 1.6.0.2
- Xamarin.AndroidX.Window.WindowJava: 1.4.0.1 → 1.5.1.1
- Xamarin.Firebase.AppIndexing: 120.0.0.26 → 120.0.0.27
- Xamarin.Google.Crypto.Tink.Android: 1.18.0.1 → 1.20.0.1

Removed Unnecessary Packages (9 packages):
These were added in the original PR to avoid NU1608 version conflicts, but
are no longer needed with all packages updated to latest stable versions:
- Xamarin.AndroidX.Activity.Ktx (transitive dependency)
- Xamarin.AndroidX.Fragment.Ktx (transitive dependency)
- Xamarin.AndroidX.Graphics.Shapes (transitive from Material 1.13.0.1)
- Xamarin.AndroidX.Lifecycle.Process (transitive dependency)
- Xamarin.AndroidX.Lifecycle.Runtime.Ktx (transitive dependency)
- Xamarin.AndroidX.Lifecycle.Runtime.Ktx.Android (transitive dependency)
- Xamarin.AndroidX.Lifecycle.ViewModel.Ktx (transitive dependency)
- Xamarin.AndroidX.NavigationEvent (transitive from Material 1.13.0.1)
- Xamarin.AndroidX.SavedState.SavedState.Ktx (transitive dependency)

Removed Explicit References from Core.csproj (10 references):
The explicit Ktx and Navigation package references in Core.csproj were only
needed to force specific versions and avoid NU1608 conflicts. With all packages
at latest versions, these are now correctly resolved transitively.

Benefits:
- No NU1608 version conflicts
- All packages at latest stable versions
- Cleaner dependency management (fewer explicit package declarations)
- Latest bug fixes and features across Android ecosystem

Related: dotnet#33450
sheiksyedm added a commit to sheiksyedm/maui that referenced this pull request Mar 10, 2026
Glide 5.0.5.1 requires minSdkVersion 23 (Android 6.0+) which would be a
breaking change for MAUI that currently supports minSdkVersion 21 (Android 5.0+).

Reverting Glide to 4.16.0.14 while keeping all other package updates resolves
the PR build failures without introducing breaking changes.

Error that was occurring with Glide 5.0.5.1:
  XAAMM0000: uses-sdk:minSdkVersion 21 cannot be smaller than version 23
  declared in library

Package status after revert:
- Xamarin.Android.Glide: 4.16.0.14 (kept at current version)
- 10 other Android packages: Updated to latest versions
- No NU1608 version conflicts
- No minSdkVersion errors

Related: dotnet#33450
sheiksyedm added a commit to sheiksyedm/maui that referenced this pull request Mar 10, 2026
This commit updates all Android/AndroidX NuGet packages to their latest stable
versions and removes unnecessary explicit package references that were added
as workarounds for version conflicts.

Package Updates (11 packages):
- Xamarin.Android.Glide: 4.16.0.14 → 5.0.5.1 (major update)
- Xamarin.AndroidX.Activity: 1.12.2 → 1.12.2.1
- Xamarin.AndroidX.Browser: 1.8.0.11 → 1.9.0.1
- Xamarin.AndroidX.DynamicAnimation: 1.1.0.3 → 1.1.0.4
- Xamarin.AndroidX.Lifecycle.LiveData: 2.10.0 → 2.10.0.1
- Xamarin.AndroidX.Navigation.*: 2.9.2.1 → 2.9.6.1 (4 packages)
- Xamarin.AndroidX.SwipeRefreshLayout: 1.1.0.29 → 1.2.0.1
- Xamarin.AndroidX.Transition: 1.6.0.1 → 1.6.0.2
- Xamarin.AndroidX.Window.WindowJava: 1.4.0.1 → 1.5.1.1
- Xamarin.Firebase.AppIndexing: 120.0.0.26 → 120.0.0.27
- Xamarin.Google.Crypto.Tink.Android: 1.18.0.1 → 1.20.0.1

Removed Unnecessary Packages (9 packages):
These were added in the original PR to avoid NU1608 version conflicts, but
are no longer needed with all packages updated to latest stable versions:
- Xamarin.AndroidX.Activity.Ktx (transitive dependency)
- Xamarin.AndroidX.Fragment.Ktx (transitive dependency)
- Xamarin.AndroidX.Graphics.Shapes (transitive from Material 1.13.0.1)
- Xamarin.AndroidX.Lifecycle.Process (transitive dependency)
- Xamarin.AndroidX.Lifecycle.Runtime.Ktx (transitive dependency)
- Xamarin.AndroidX.Lifecycle.Runtime.Ktx.Android (transitive dependency)
- Xamarin.AndroidX.Lifecycle.ViewModel.Ktx (transitive dependency)
- Xamarin.AndroidX.NavigationEvent (transitive from Material 1.13.0.1)
- Xamarin.AndroidX.SavedState.SavedState.Ktx (transitive dependency)

Removed Explicit References from Core.csproj (10 references):
The explicit Ktx and Navigation package references in Core.csproj were only
needed to force specific versions and avoid NU1608 conflicts. With all packages
at latest versions, these are now correctly resolved transitively.

Benefits:
- No NU1608 version conflicts
- All packages at latest stable versions
- Cleaner dependency management (fewer explicit package declarations)
- Latest bug fixes and features across Android ecosystem

Related: dotnet#33450
sheiksyedm added a commit to sheiksyedm/maui that referenced this pull request Mar 10, 2026
Glide 5.0.5.1 requires minSdkVersion 23 (Android 6.0+) which would be a
breaking change for MAUI that currently supports minSdkVersion 21 (Android 5.0+).

Reverting Glide to 4.16.0.14 while keeping all other package updates resolves
the PR build failures without introducing breaking changes.

Error that was occurring with Glide 5.0.5.1:
  XAAMM0000: uses-sdk:minSdkVersion 21 cannot be smaller than version 23
  declared in library

Package status after revert:
- Xamarin.Android.Glide: 4.16.0.14 (kept at current version)
- 10 other Android packages: Updated to latest versions
- No NU1608 version conflicts
- No minSdkVersion errors

Related: dotnet#33450
- Update all AndroidX/Google NuGet packages to latest stable versions
- Bump Android minimum SDK version from 21 to 23 across all projects
- Simplify AreAnimationsEnabled() removing obsolete API level 21 check
- Fix null safety in Browser.android.cs LaunchChromeTabs

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@sheiksyedm sheiksyedm force-pushed the fix/update-material-slider-binding branch from 00f4bdc to c43ecb8 Compare March 10, 2026 09:20
@sheiksyedm
Copy link
Copy Markdown
Contributor Author

/azp run maui-pr-uitests

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@sheiksyedm
Copy link
Copy Markdown
Contributor Author

/azp run maui-pr-uitests

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@kubaflo
Copy link
Copy Markdown
Contributor

kubaflo commented Mar 16, 2026

@jfversluis this one can be merged to net11 I think

@jfversluis jfversluis merged commit b797409 into dotnet:net11.0 Mar 17, 2026
140 of 199 checks passed
PureWeen pushed a commit that referenced this pull request Mar 24, 2026
…net11.0 compatibility (#34601)

<!-- 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!

### Description of Change

On net11.0, the Material3 package (#33450) changed
`BottomNavigationView.MaxItemCount` from 5 to 6. This caused Android
Shell and TabbedPage bottom navigation rendering to change, breaking ~16
screenshot baselines on the net11.0 branch.

This PR clamps `MaxItemCount` back to 5 to maintain consistent behavior
across .NET versions.

### Code Changes

**`BottomNavigationViewUtils.cs`:**
- Added `MaxBottomNavigationItems = 5` constant
- `SetupMenu` and `CreateMoreBottomSheet` both clamp `maxBottomItems` to
this constant

**`ShellItemRenderer.cs`:**
- "More" tab logic and `UpdateMenuItems` now clamp `MaxItemCount` to 5,
preventing more than 5 items in the bottom navigation bar

### Snapshot Updates

Updated 16 Android screenshot baselines affected by the tab layout
change:
- Shell appearance tests (tab bar colors, foreground, background, RTL)
- TabbedPage menu item tests
- Tab icon and visibility tests
- Flyout icon tests
- Navigation bar layout tests

Also updated:
- `Material3TimePicker_InitialState_VerifyVisualState`
(android-notch-36)
- `VerifyHybridWebViewWithShadow` (ios-26)

### Known Gaps

This PR does NOT update all affected snapshots. The following are known
to still need baseline updates or investigation:
- `Issue18896Test` - confirmed 5.74% screenshot diff in the bottom nav
area (same root cause, missing baseline update)
- 10 additional Shell/TabbedPage snapshots from #34586 that were
intentionally left unchanged (bet: the code fix restores them to match
existing baselines)

### Root Cause

The Material3 package on net11.0 increased
`BottomNavigationView.MaxItemCount` from 5 to 6. This changed the layout
of bottom navigation tabs, causing extra space allocation and rendering
differences in all tests that capture bottom navigation UI.

See: #33450
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

nuget Bumps for nuget packages partner/syncfusion Issues / PR's with Syncfusion collaboration platform/android

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants