Skip to content

WinUI: Add AoT support to BasemapGallery, BookmarksView, FloorFilter, OverviewMap and Legend #632

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 38 commits into from
Apr 18, 2025

Conversation

dotMorten
Copy link
Member

@dotMorten dotMorten commented Apr 3, 2025

Adds WinUI AoT support to:

  • BasemapGallery (was working but improved binding)
  • BookmarksView
  • FloorFilter
  • Legend
  • OverviewMap

dotMorten and others added 30 commits January 13, 2025 13:23
Compile WinUI with AoT support
Use relative source or code-behind whenever possible
… WinUI (#620)

* Rewrites several parts of the SearchView to make it AoT compatible in WinUI
* Update BookmarksView template to use StackLayout and Labels to adapt new CollectionView. (#621)

* Add XML namespace and data binding in SymbolEditorSample to resolve bug with Angle property not being refresh in MAUI Android. (#622)
* Add support for built-in iOS barcode scanner
* Add Windows support to barcode scanner
* Adding barcode scanner to Android
Improves scanner launch time from ~40s to 1-2s due to a poor/ineffecient device selector string.
* Add 3D Basemap Gallery support in WPF and BasemapGalleryItem

* Add 3D basemap support to BasemapGallery in UWP, WinUI and MAUI
Changed 3D basemap identification from Enum to boolean for simplified binding

* Added condition to check if `GeoModel` is a `Scene` before fetching 3D basemaps

* Renamed `BasemapGallery3DAppearanceSample` to `BasemapGallerySceneViewAppearanceSample`.

* Consolidated Basemap fetching methods

* Refactor BasemapGalleryItem to dynamically determine Is3D

* Refactored 3D tag in BasemapGallery to sta on top right corner of the image in Grid View.

* Introduce caching for basemaps in BasemapGalleryController

* Update src/Toolkit/Toolkit.WinUI/Esri.ArcGISRuntime.Toolkit.WinUI.csproj

* Update bindings to use static lambdas for type safety as new feature from .Net 9

* Reverted binding style for private set properties

* Revert Margin in Basemap Gallery Item

* Fixing bug in BasemapGallery loading

* Restore styling for basemapgallery

* Refactor basemap loading to be fully asynchronous

* Refactor basemap loading and update visibility handling

* Update BasemapGallery itemTypeBorder to theme-based color

* Add one-way binding to fix the width sldier in WinUI and UWP and error handling improvements

* Refactor loading state handling in BasemapGalleryController

* Refactor basemap update logic in BasemapGallery

* Enhance theme management in BasemapGallery
Several controls are still not AoT compatible
* Enhance basemap loading with async task management caching

- Introduces Task caching mechanism to manage asynchronous loading of basemap gallery items.
- Updates `LoadBasemapGalleryItems` to check for ongoing tasks, preventing multiple concurrent loads.

* Refactor basemap loading and portal change handling

* Refactor basemap handling on portal changes.
Restored `HandlePortalChanged` to manage portal changed event including cache invalidation and asynchronous basemap updates.
Added invalidating of cache on `AvailableBasemaps` assigned manually.
# Conflicts:
#	src/Samples/Toolkit.SampleApp.WinUI/Toolkit.SampleApp.WinUI.csproj
@dotMorten dotMorten self-assigned this Apr 3, 2025
@dotMorten dotMorten marked this pull request as draft April 3, 2025 16:21
@dotMorten dotMorten changed the title WinUI AoT: Add support for BasemapGallery and BookmarksView WinUI AoT: Add support for BasemapGallery, BookmarksView and FloorFilter Apr 4, 2025
@dotMorten dotMorten changed the title WinUI AoT: Add support for BasemapGallery, BookmarksView and FloorFilter WinUI Add AoT support to several controls Apr 4, 2025
Base automatically changed from v.next to main April 8, 2025 22:30
@dotMorten dotMorten marked this pull request as ready for review April 8, 2025 22:36
@dotMorten dotMorten changed the title WinUI Add AoT support to several controls WinUI: Add AoT support to BasemapGallery, BookmarksView, FloorFilter and Legend Apr 8, 2025
@dotMorten dotMorten changed the title WinUI: Add AoT support to BasemapGallery, BookmarksView, FloorFilter and Legend WinUI: Add AoT support to BasemapGallery, BookmarksView, FloorFilter, OvervierwMap and Legend Apr 8, 2025
@dotMorten dotMorten changed the title WinUI: Add AoT support to BasemapGallery, BookmarksView, FloorFilter, OvervierwMap and Legend WinUI: Add AoT support to BasemapGallery, BookmarksView, FloorFilter, OverviewMap and Legend Apr 8, 2025
@dotMorten dotMorten requested a review from mstefarov April 16, 2025 21:41
Copy link
Contributor

@prathameshnarkhede prathameshnarkhede left a comment

Choose a reason for hiding this comment

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

Looks good to me

@dotMorten dotMorten requested a review from mstefarov April 18, 2025 17:37
@dotMorten dotMorten merged commit 114b3e7 into main Apr 18, 2025
1 check passed
@dotMorten dotMorten deleted the aot branch April 18, 2025 18:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants