Skip to content
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

Fix language support and label localization #1687

Merged
merged 10 commits into from
Nov 11, 2022

Conversation

pjleonard37
Copy link
Contributor

@pjleonard37 pjleonard37 commented Nov 3, 2022

This PR addresses #652, properly localizing labels into the preferred script based on Locale. To do so, this PR follows -- with some modifications to avoid breaking changes -- the approach from the Navigation SDK (see here). This approach provides more robust support for a Locale's preferred language and script option, by checking the preference against the set of language + scripts supported by Mapbox Streets v8 or v7. Additionally, test coverage is expanded to cover more Locales and the localization example modified to include a "Device Locale" option.

Simulator.Screen.Recording.-.iPhone.8.-.2022-11-03.at.18.51.50.mp4

Pull request checklist:

  • Describe the changes in this PR, especially public API changes.
  • Include before/after visuals or gifs if this PR includes visual changes.
  • Write tests for all new functionality. If tests were not written, please explain why.
  • Add documentation comments for any added or updated public APIs.
  • Add any new public, top-level symbols to the Jazzy config's custom_categories (scripts/doc-generation/.jazzy.yaml)
  • Add a changelog entry to to bottom of the relevant section (typically the ## main heading near the top).
  • Update the guides (internal access only), README.md, and DEVELOPING.md if their contents are impacted by these changes.
  • If this PR is a v10.[version] release branch fix / enhancement, merge it to main first and then port to v10.[version] release branch.

PRs must be submitted under the terms of our Contributor License Agreement CLA.

@pjleonard37 pjleonard37 requested a review from a team as a code owner November 3, 2022 22:56
Sources/MapboxMaps/Style/Style+Localization.swift Outdated Show resolved Hide resolved
Sources/MapboxMaps/Style/Style+Localization.swift Outdated Show resolved Hide resolved

let acceptsEnglish = preferredLocales.contains { $0.languageCode == "en" }
var availableLocales = supportedLocaleIdentifiersv8
if !acceptsEnglish {
Copy link
Contributor

Choose a reason for hiding this comment

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

Why special treatment for English here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I took this bit directly from the navigation SDK implementation here. However, I think it only makes sense because they fall back to the device Locale here, which would have information about English preference. I can remove it on the Maps side.

cc: @1ec5

Copy link
Contributor

Choose a reason for hiding this comment

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

The navigation SDK code is more or less a straight Swift port of this map SDK code. If I remember correctly, the rationale for this English check is that many styles, including the core Mapbox styles, hard-code English by default instead of the local language.

Sources/MapboxMaps/Style/Style+Localization.swift Outdated Show resolved Hide resolved
Sources/MapboxMaps/Style/Style+Localization.swift Outdated Show resolved Hide resolved
Sources/MapboxMaps/Style/Style+Localization.swift Outdated Show resolved Hide resolved
Sources/MapboxMaps/Style/Style+Localization.swift Outdated Show resolved Hide resolved
Sources/MapboxMaps/Style/Style+Localization.swift Outdated Show resolved Hide resolved
Sources/MapboxMaps/Style/Style+Localization.swift Outdated Show resolved Hide resolved
@pjleonard37
Copy link
Contributor Author

Thanks for the reviews @maios and @evil159. Based on @maios 's comment it became clear that the initially proposed method did not allow for passing Locale.current or Locale.autoupdatingCurrent. Instead, the original approach expected a dev to pass a newly created Locale. I've updated this implementation to allow a dev to pass the current Locale, and then use the set of Locale.preferredLanguages (similar to what nav does here). In either case, preferences are then passed to preferredMapboxStreetsLocalization(among:) which returns the most preferred language available.

Sources/MapboxMaps/Style/Style+Localization.swift Outdated Show resolved Hide resolved
Sources/MapboxMaps/Style/Style+Localization.swift Outdated Show resolved Hide resolved
Sources/MapboxMaps/Style/Style+Localization.swift Outdated Show resolved Hide resolved
}

for sourceInfo in vectorSources where locale.identifier.starts(with: "zh") {
// Lists language codes supported by Mapbox Streets v7
let supportedLanguageCodesv7 = ["ar", "en", "es", "fr", "de", "pt", "ru", "ja", "ko", "zh", "zh-Hans"]
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm confused by having v7 list in the getLocaleValue(locale: Locale) method and v8 list in the preferredMapboxStreetsLocalization.
Can we have reorganise it, please?

Copy link
Contributor

Choose a reason for hiding this comment

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

We also need some space for future streets versions.

Copy link
Contributor

Choose a reason for hiding this comment

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

By the way, why there is only streets style localisation codes? What is about other core/custom styles?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

These two lists reflect different support at the tileset/source level for various languages by Streets v7 and Streets v8, which would include all Mapbox core styles. In the most recent commit I added an explanation in getLocaleValue(locale:) and required passing the list directly to preferredMapboxStreetsLocalization(among:, from:) so this is more clear.

One additional modification we could do is allow a developer to pass their own list of supported language codes (representing the set of language codes supported by their tileset). This may be outside the scope of this PR, but I can create a ticket for it.

Copy link
Contributor

@evil159 evil159 left a comment

Choose a reason for hiding this comment

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

Great work investigating this, this worked flawlessly in my tests 🎉

@pjleonard37 pjleonard37 force-pushed the MAPSIOS-422-zh-hant-hk-language-support branch from adf7777 to f1c0a3c Compare November 11, 2022 12:48
@pjleonard37 pjleonard37 merged commit f9f80c7 into main Nov 11, 2022
@pjleonard37 pjleonard37 deleted the MAPSIOS-422-zh-hant-hk-language-support branch November 11, 2022 13:11
evil159 pushed a commit that referenced this pull request Nov 18, 2022
* Change tests to correct expectations, modify implementation

* Pull in Nav changes

* Port localization approach from nav

* Address PR feedback

* Expand test coverage

* Respond to review, enable passing system Locale

* Add additional tests

* Clean up implementation, add additional tests

* Add changelog entry

* Update changelog
evil159 added a commit that referenced this pull request Nov 18, 2022
* Remove 10s delay as CoreTelemetry does not freeze main thread (#1699)

* Update generated code to use latest spec (#1696)

* Add missing changelog entry (#1707)

* Update generated code (#1708)

* Flush telemetry on MapView deinit (#1700)

* Refactoring to use EventsManager init over shared
* Add explicit flush on EventsManager deinit (happens on MapView deinit as well)
* Send map.load event with queued priority
* Some unit tests refactoring

* Add iPhone XR iOS 12 to the test device list (#1715)

* Expand cluster example to show additional functionality  (#1713)

* Expand example to include zooming on cluster click

* Add documentation details

* Fix language support and label localization  (#1687)

* Change tests to correct expectations, modify implementation

* Pull in Nav changes

* Port localization approach from nav

* Address PR feedback

* Expand test coverage

* Respond to review, enable passing system Locale

* Add additional tests

* Clean up implementation, add additional tests

* Add changelog entry

* Update changelog

* Use Test Plans for Examples target to avoid unit tests on CI (#1716)

Adding two test plans:
- The default includes Examples tests along with UI tests and Maps unit tests
- The second test plan ignores unit tests to support running tests on devices (SPM unit tests doesn't have a host app so cannot be run on iOS devices)
Fixes for Changelog broken URLs

* Support iOS 12 for location permission dialog workaround (#1719)

* Support iOS 12 for location permission dialog workaround
* Rewrite Accept location UI test in favor of buttons awaitance

* Resolve Hans handling on v7 (#1720)

* Begin migration to test plans, split unit and integration tests (#1714)

* Begin migration to test plans, split unit and integration tests

* Add workspace

* Move over additional schemes

* Update Debugapp TestPlan

* Update directories

* Undo example changes

* A few test plan fixes

Co-authored-by: Roman Gardukevich <roman.gardukevich@mapbox.com>

* Update test checklist item (#1724)

* sync swift version (#1726)

* Update Swift version in podspec

* Update swift version in SPM

* Run unit tests on multiple supported iOS versions (#1718)

* Bump ci latest Xcode executor to `14.1.0` (#1729)

* Update CI xcode image to 14.1

* Fix testplans issue

* Update iPhone destination

* Force test plan

* Bump MapboxCoreMaps to 10.10.0-rc.1 and MapboxCommon to 23.2.0-rc.2 (#1727)

* Minor setup fixes (#1730)

* Update Xcode build settins recommendation base

* Fix a few warnings in unit tests

* Reduce number of base-job uses

* Use large machine for build-sdk job

* Do not build tests on MapboxMaps

* Revert "Use large machine for build-sdk job"

This reverts commit 0e29027.

* DIsable testability

* Stop building DebugApp in build-sdk job

* Add explicit dependency installation steps

* Skip dependencies for some jobs

* Extract install dependencies commands

* Rename some dependency commands

* Update google cloud SDK

* More skip dependencies

* Support custom repository URL based on CircleCI values

* Install python deps for release build jobs

* Use ssh for integration validation (#1731)

* Reenable Codecov (#1666)

* Add Codecov uploader
* Store coverage report

* Upload code coverage to internal service (#1734)

* Drop commented coverage rule from Makefile

* Upload coverage to internal service

* Return slack message report on unit test failure in main branch

* Rename xcodebuild log

* Improve CI job naming

* Enable codecov/patch check

* Install s3 credentials

* Force enable codecov/patch and remove unused flags

* Collect unit and integration tests coverage separately (#1736)

* Test unit tests and integrations tests separately
* Disable parallel testing to fix empty JUnit report
* Enable English language by default
* Parallelize tests in All test plan
* Parallelize tests in IntegrationTests plan

* Allow simultaneous recognition of map- and annotation- handling gesture recognizers (#1737)

* Bump MapboxCommon to 23.2.0-rc.3 (#1738)

* Bump SDK version to 10.10.0-rc.1 (#1739)

Co-authored-by: Roman Gardukevich <roman.gardukevich@mapbox.com>
Co-authored-by: Mai Mai <mai.mai@mapbox.com>
Co-authored-by: Patrick Leonard <pjleonard37@users.noreply.github.com>
persidskiy pushed a commit that referenced this pull request Feb 24, 2023
* Send unique report per each run measurement (#1633)

* Prevent view annotation being shown erroneously after options update (#1627)

* Add an example animating a view annotation along a route line (#1639)

* Fix unit tests on iPhone mini 12/13 (#1643)

* Add generated Annotation Manager Tests (#1617)

* Add Initial Annotation Manager Tests

* Add generated tests for all annotation managers

* Resolve swiftlint issues

* Reduce location provider heading orientation update frequency (#1618)

* Increase timeout for view annotation animation example (#1645)

* Expose list of added view annotations (#1621)

* Fix view annotation animation example crashing on iOS 13 (#1653)

* Delay view annotation animation start

* Fiddle with CircleCI

* Delaying animation start

* Fix build errors

* Tangible animation delay + window scene link

* Disable animation altogether

* Finish the example right after setting it up

* Throw away unneeded tests

* Remove all setup

* Uncomment source

* Uncomment layer

* Uncomment view annotations

* Wait for 21 sec

* Wait for 1 sec

* Run animation with 3s delay

* Start the animation immediatedly

* Common mode for display link

* Default mode for display link

* Revert test setup

* Bump CoreMaps to 10.9.0 MapboxCommon to 23.1.0 (#1652)

* Support 120Hz in DebugMap example (#1647)

* Enable 120Hz on supported screens in DebugMap example

* Drop pre-Xcode 13 compilation conditions

* Fix swiftlint warning

* Bump version to 10.9.0 (#1656)

* Use different set of devices for Examples tests (#1660)

* Feature/fix warnings (#1661)

* Ignore deprecated examples in Release config

* Fix warnings

* Update the latest Xcode

* Improve swiftlint configuration

* Store correct artifacts for Examples Tests

* Avoid triggering assertion for the 3D puck layer when returning `allLayerIdentifiers` (#1650)

* Improve reduced accuracy authorization location indicator behavior while zooming (#1644)

* Use iPhone 13 Pro for individul device tests (#1664)

* Add Cluster Support for Point Annotation Managers (#1651)

* Enable clustering of point annotations, create cluster options, add example and tests

* Add first tests for clustering

* Add tests and documentation

* Update Project file paths

* Add new function definition to allowlist

* Improve example, add better documentation

* Add and fix unit tests

* Update access level and fix swiftlint

* Respond to PR comments

* Add changelog entry

* Jazzy docs

* Remove colorLevels in favor of circleColorExpression

* Update destoy to include the added cluster layers

* Reorganize cluster options, expand example

* Adjust documentation

* Bugfix/mapsios 328 better handling set style result observers (#1665)

* Add test case to verify loadStyle handler is invoked exactly once
* Cancel loadStyle observers on first expected events received

* Update CHANGELOG.md (#1667)

* Disable indexing on CI machines (#1672)

* Remove outdated performance baseline (#1671)

* Remove outdates performance baseline

* Remove Baseline related code from XCParty

* Update XCParty to support Xcode 14

* Feature/mapsios 367 frame view annotations (#1634)

* API to get camera options to fit a list of view annotations.

* Run MetricsV2 tests when CIRCLECI_TAG is set (#1674)

* Remove ornament position deprecation (#1676)

* Prevent map from being rendered on background (#1675)

* Bump CoreMaps to 10.10.0-beta.1 and Common to 23.2.0-beta.1 (#1680)

* Print ABI report on module loading failure (#1682)

* Support `isDraggable` and `isSelected` for annotations (#1659)

* working branch

* wip

* isDraggable work in progress

* removing debug view controller from commit

* fixing debug view controller

* removing unnecessarily added commits

* Delete style.json

* Update CircleAnnotationExample.swift

* Delete Contents.json

* removing images

* Update AnnotationOrchestrator.swift

* Update AnnotationOrchestrator.swift

* removing used variables

* running swiftlint

* removing unnecessary files

isDraggable work in progress

wip

removing debug view controller from commit

fixing debug view controller

removing unnecessarily added commits

removing images

Delete style.json

Update CircleAnnotationExample.swift

Delete Contents.json

Update AnnotationOrchestrator.swift

Update AnnotationOrchestrator.swift

removing used variables

running swiftlint

* adding tests and changelog entry

* applied changes to annotation generated files

* make formatting changes to annotation generated file

* updating tests

* updating annotation manager tests

* fixing longPressGestureRecognizer in annotation manager

* added handle drag test

* resolving issues with annotation generation file

* resolving swiftlint errors

* resolving issues with failing tests

* removing annotation tests

* making requested changes

* implementing suggestions and resolving issue with inner polygon

* replaced try? with do-catch

* updating tests to resolve errors

* making requested changes

* removing extra space in annotation files

* resolving syntax errors in annotation managers generation file

* Draggable annotations review suggestions (#1678)

* Replace MoveDistanceObject with MapboxLongPressGestureRecognizer

* Use drag layer/source identifiers unique per annotation manager to avoid collisions

* Call didDetectTappedAnnotations after updating isSelected status
Copy the existing layer as the drag layer
Pass feature of annotation being dragged as a source data for drag source

* resolving failing tests

* resolving swiftlint errors

* Revert "resolving swiftlint errors"

This reverts commit bab263b.

* testing swiflint resolution

* removing whitespace

* Update Sources/MapboxMaps/Annotations/Generated/PointAnnotationManager.swift

Co-authored-by: Mai Mai <mai.mai@mapbox.com>

* Update Apps/Examples/Examples/All Examples/Annotations/CustomPointAnnotationExample.swift

Co-authored-by: Mai Mai <mai.mai@mapbox.com>

* Address review feedback

* Fix unit tests

* modifying code so tapped annotations contains newly selected annotation

* Revert "modifying code so tapped annotations contains newly selected annotation"

This reverts commit ca35b5f.

* fixing tapped annotation behavior and unit tests

* Update CHANGELOG.md

Co-authored-by: Patrick Leonard <pjleonard37@users.noreply.github.com>

* Update Apps/Examples/Examples/All Examples/Annotations/PolygonAnnotationExample.swift

Co-authored-by: Roman Gardukevich <roman.gardukevich@mapbox.com>

* Update Sources/MapboxMaps/Annotations/OffsetGeometryCalculator.swift

Co-authored-by: Roman Gardukevich <roman.gardukevich@mapbox.com>

* Update Sources/MapboxMaps/Annotations/AnnotationOrchestratorImpl.swift

Co-authored-by: Roman Gardukevich <roman.gardukevich@mapbox.com>

* Update Sources/MapboxMaps/Annotations/AnnotationOrchestratorImpl.swift

Co-authored-by: Roman Gardukevich <roman.gardukevich@mapbox.com>

* Update Sources/MapboxMaps/Annotations/AnnotationOrchestratorImpl.swift

Co-authored-by: Roman Gardukevich <roman.gardukevich@mapbox.com>

* making requested changes

* Remove ornament position deprecation (#1676)

* AnnotationManager Tests (#1683)

* adding annotation manager tests

Co-authored-by: Mai Mai <mai.mai@mapbox.com>

Co-authored-by: Roman Laitarenko <roman.laitarenko@mapbox.com>
Co-authored-by: Mai Mai <mai.mai@mapbox.com>
Co-authored-by: Patrick Leonard <pjleonard37@users.noreply.github.com>
Co-authored-by: Roman Gardukevich <roman.gardukevich@mapbox.com>

* Add API to enable/disable render world copies (#1684)

* Add UI test to grant location permission before running examples tests (#1685)

* New API to load custom style JSON on the initilization of MapView (#1686)

* Bump version to v10.10.0-beta.1 (#1689)

* Add sky layer deprecation docs (#1694)

* Add sky layer deprecation docs

* Add link to atmosphere

* Remove 10s delay as CoreTelemetry does not freeze main thread (#1699)

* Update generated code to use latest spec (#1696)

* Fix memory leak when viewport is being deallocated while transition is running (#1691)

* Add missing changelog entry (#1707)

* Update generated code (#1708)

* Flush telemetry on MapView deinit (#1700)

* Refactoring to use EventsManager init over shared
* Add explicit flush on EventsManager deinit (happens on MapView deinit as well)
* Send map.load event with queued priority
* Some unit tests refactoring

* Add iPhone XR iOS 12 to the test device list (#1715)

* Expand cluster example to show additional functionality  (#1713)

* Expand example to include zooming on cluster click

* Add documentation details

* Fix language support and label localization  (#1687)

* Change tests to correct expectations, modify implementation

* Pull in Nav changes

* Port localization approach from nav

* Address PR feedback

* Expand test coverage

* Respond to review, enable passing system Locale

* Add additional tests

* Clean up implementation, add additional tests

* Add changelog entry

* Update changelog

* Use Test Plans for Examples target to avoid unit tests on CI (#1716)

Adding two test plans:
- The default includes Examples tests along with UI tests and Maps unit tests
- The second test plan ignores unit tests to support running tests on devices (SPM unit tests doesn't have a host app so cannot be run on iOS devices)
Fixes for Changelog broken URLs

* Resolve issue with simultaneous recognition of tap gesture (#1712)

* Support iOS 12 for location permission dialog workaround (#1719)

* Support iOS 12 for location permission dialog workaround
* Rewrite Accept location UI test in favor of buttons awaitance

* Resolve Hans handling on v7 (#1720)

Co-authored-by: Roman Gardukevich <roman.gardukevich@mapbox.com>
Co-authored-by: Roman Laitarenko <roman.laitarenko@mapbox.com>
Co-authored-by: Patrick Leonard <pjleonard37@users.noreply.github.com>
Co-authored-by: Mai Mai <mai.mai@mapbox.com>
Co-authored-by: ZiZi <44972592+ZiZasaurus@users.noreply.github.com>
Co-authored-by: Kiryl Dzehtsiarenka <kiryl.dzehtsiarenka@mapbox.com>
persidskiy pushed a commit that referenced this pull request Feb 24, 2023
* Send unique report per each run measurement (#1633)

* Prevent view annotation being shown erroneously after options update (#1627)

* Add an example animating a view annotation along a route line (#1639)

* Fix unit tests on iPhone mini 12/13 (#1643)

* Add generated Annotation Manager Tests (#1617)

* Add Initial Annotation Manager Tests

* Add generated tests for all annotation managers

* Resolve swiftlint issues

* Reduce location provider heading orientation update frequency (#1618)

* Increase timeout for view annotation animation example (#1645)

* Expose list of added view annotations (#1621)

* Fix view annotation animation example crashing on iOS 13 (#1653)

* Delay view annotation animation start

* Fiddle with CircleCI

* Delaying animation start

* Fix build errors

* Tangible animation delay + window scene link

* Disable animation altogether

* Finish the example right after setting it up

* Throw away unneeded tests

* Remove all setup

* Uncomment source

* Uncomment layer

* Uncomment view annotations

* Wait for 21 sec

* Wait for 1 sec

* Run animation with 3s delay

* Start the animation immediatedly

* Common mode for display link

* Default mode for display link

* Revert test setup

* Bump CoreMaps to 10.9.0 MapboxCommon to 23.1.0 (#1652)

* Support 120Hz in DebugMap example (#1647)

* Enable 120Hz on supported screens in DebugMap example

* Drop pre-Xcode 13 compilation conditions

* Fix swiftlint warning

* Bump version to 10.9.0 (#1656)

* Use different set of devices for Examples tests (#1660)

* Feature/fix warnings (#1661)

* Ignore deprecated examples in Release config

* Fix warnings

* Update the latest Xcode

* Improve swiftlint configuration

* Store correct artifacts for Examples Tests

* Avoid triggering assertion for the 3D puck layer when returning `allLayerIdentifiers` (#1650)

* Improve reduced accuracy authorization location indicator behavior while zooming (#1644)

* Use iPhone 13 Pro for individul device tests (#1664)

* Add Cluster Support for Point Annotation Managers (#1651)

* Enable clustering of point annotations, create cluster options, add example and tests

* Add first tests for clustering

* Add tests and documentation

* Update Project file paths

* Add new function definition to allowlist

* Improve example, add better documentation

* Add and fix unit tests

* Update access level and fix swiftlint

* Respond to PR comments

* Add changelog entry

* Jazzy docs

* Remove colorLevels in favor of circleColorExpression

* Update destoy to include the added cluster layers

* Reorganize cluster options, expand example

* Adjust documentation

* Bugfix/mapsios 328 better handling set style result observers (#1665)

* Add test case to verify loadStyle handler is invoked exactly once
* Cancel loadStyle observers on first expected events received

* Update CHANGELOG.md (#1667)

* Disable indexing on CI machines (#1672)

* Remove outdated performance baseline (#1671)

* Remove outdates performance baseline

* Remove Baseline related code from XCParty

* Update XCParty to support Xcode 14

* Feature/mapsios 367 frame view annotations (#1634)

* API to get camera options to fit a list of view annotations.

* Run MetricsV2 tests when CIRCLECI_TAG is set (#1674)

* Remove ornament position deprecation (#1676)

* Prevent map from being rendered on background (#1675)

* Bump CoreMaps to 10.10.0-beta.1 and Common to 23.2.0-beta.1 (#1680)

* Print ABI report on module loading failure (#1682)

* Support `isDraggable` and `isSelected` for annotations (#1659)

* working branch

* wip

* isDraggable work in progress

* removing debug view controller from commit

* fixing debug view controller

* removing unnecessarily added commits

* Delete style.json

* Update CircleAnnotationExample.swift

* Delete Contents.json

* removing images

* Update AnnotationOrchestrator.swift

* Update AnnotationOrchestrator.swift

* removing used variables

* running swiftlint

* removing unnecessary files

isDraggable work in progress

wip

removing debug view controller from commit

fixing debug view controller

removing unnecessarily added commits

removing images

Delete style.json

Update CircleAnnotationExample.swift

Delete Contents.json

Update AnnotationOrchestrator.swift

Update AnnotationOrchestrator.swift

removing used variables

running swiftlint

* adding tests and changelog entry

* applied changes to annotation generated files

* make formatting changes to annotation generated file

* updating tests

* updating annotation manager tests

* fixing longPressGestureRecognizer in annotation manager

* added handle drag test

* resolving issues with annotation generation file

* resolving swiftlint errors

* resolving issues with failing tests

* removing annotation tests

* making requested changes

* implementing suggestions and resolving issue with inner polygon

* replaced try? with do-catch

* updating tests to resolve errors

* making requested changes

* removing extra space in annotation files

* resolving syntax errors in annotation managers generation file

* Draggable annotations review suggestions (#1678)

* Replace MoveDistanceObject with MapboxLongPressGestureRecognizer

* Use drag layer/source identifiers unique per annotation manager to avoid collisions

* Call didDetectTappedAnnotations after updating isSelected status
Copy the existing layer as the drag layer
Pass feature of annotation being dragged as a source data for drag source

* resolving failing tests

* resolving swiftlint errors

* Revert "resolving swiftlint errors"

This reverts commit bab263b.

* testing swiflint resolution

* removing whitespace

* Update Sources/MapboxMaps/Annotations/Generated/PointAnnotationManager.swift

Co-authored-by: Mai Mai <mai.mai@mapbox.com>

* Update Apps/Examples/Examples/All Examples/Annotations/CustomPointAnnotationExample.swift

Co-authored-by: Mai Mai <mai.mai@mapbox.com>

* Address review feedback

* Fix unit tests

* modifying code so tapped annotations contains newly selected annotation

* Revert "modifying code so tapped annotations contains newly selected annotation"

This reverts commit ca35b5f.

* fixing tapped annotation behavior and unit tests

* Update CHANGELOG.md

Co-authored-by: Patrick Leonard <pjleonard37@users.noreply.github.com>

* Update Apps/Examples/Examples/All Examples/Annotations/PolygonAnnotationExample.swift

Co-authored-by: Roman Gardukevich <roman.gardukevich@mapbox.com>

* Update Sources/MapboxMaps/Annotations/OffsetGeometryCalculator.swift

Co-authored-by: Roman Gardukevich <roman.gardukevich@mapbox.com>

* Update Sources/MapboxMaps/Annotations/AnnotationOrchestratorImpl.swift

Co-authored-by: Roman Gardukevich <roman.gardukevich@mapbox.com>

* Update Sources/MapboxMaps/Annotations/AnnotationOrchestratorImpl.swift

Co-authored-by: Roman Gardukevich <roman.gardukevich@mapbox.com>

* Update Sources/MapboxMaps/Annotations/AnnotationOrchestratorImpl.swift

Co-authored-by: Roman Gardukevich <roman.gardukevich@mapbox.com>

* making requested changes

* Remove ornament position deprecation (#1676)

* AnnotationManager Tests (#1683)

* adding annotation manager tests

Co-authored-by: Mai Mai <mai.mai@mapbox.com>

Co-authored-by: Roman Laitarenko <roman.laitarenko@mapbox.com>
Co-authored-by: Mai Mai <mai.mai@mapbox.com>
Co-authored-by: Patrick Leonard <pjleonard37@users.noreply.github.com>
Co-authored-by: Roman Gardukevich <roman.gardukevich@mapbox.com>

* Add API to enable/disable render world copies (#1684)

* Add UI test to grant location permission before running examples tests (#1685)

* New API to load custom style JSON on the initilization of MapView (#1686)

* Bump version to v10.10.0-beta.1 (#1689)

* Add sky layer deprecation docs (#1694)

* Add sky layer deprecation docs

* Add link to atmosphere

* Remove 10s delay as CoreTelemetry does not freeze main thread (#1699)

* Update generated code to use latest spec (#1696)

* Fix memory leak when viewport is being deallocated while transition is running (#1691)

* Add missing changelog entry (#1707)

* Update generated code (#1708)

* Flush telemetry on MapView deinit (#1700)

* Refactoring to use EventsManager init over shared
* Add explicit flush on EventsManager deinit (happens on MapView deinit as well)
* Send map.load event with queued priority
* Some unit tests refactoring

* Add iPhone XR iOS 12 to the test device list (#1715)

* Expand cluster example to show additional functionality  (#1713)

* Expand example to include zooming on cluster click

* Add documentation details

* Fix language support and label localization  (#1687)

* Change tests to correct expectations, modify implementation

* Pull in Nav changes

* Port localization approach from nav

* Address PR feedback

* Expand test coverage

* Respond to review, enable passing system Locale

* Add additional tests

* Clean up implementation, add additional tests

* Add changelog entry

* Update changelog

* Use Test Plans for Examples target to avoid unit tests on CI (#1716)

Adding two test plans:
- The default includes Examples tests along with UI tests and Maps unit tests
- The second test plan ignores unit tests to support running tests on devices (SPM unit tests doesn't have a host app so cannot be run on iOS devices)
Fixes for Changelog broken URLs

* Resolve issue with simultaneous recognition of tap gesture (#1712)

* Support iOS 12 for location permission dialog workaround (#1719)

* Support iOS 12 for location permission dialog workaround
* Rewrite Accept location UI test in favor of buttons awaitance

* Resolve Hans handling on v7 (#1720)

* Begin migration to test plans, split unit and integration tests (#1714)

* Begin migration to test plans, split unit and integration tests

* Add workspace

* Move over additional schemes

* Update Debugapp TestPlan

* Update directories

* Undo example changes

* A few test plan fixes

Co-authored-by: Roman Gardukevich <roman.gardukevich@mapbox.com>

* Update test checklist item (#1724)

* sync swift version (#1726)

* Update Swift version in podspec

* Update swift version in SPM

* Run unit tests on multiple supported iOS versions (#1718)

* Bump ci latest Xcode executor to `14.1.0` (#1729)

* Update CI xcode image to 14.1

* Fix testplans issue

* Update iPhone destination

* Force test plan

* Bump MapboxCoreMaps to 10.10.0-rc.1 and MapboxCommon to 23.2.0-rc.2 (#1727)

* Update Package.resolved

Co-authored-by: Roman Gardukevich <roman.gardukevich@mapbox.com>
Co-authored-by: Roman Laitarenko <roman.laitarenko@mapbox.com>
Co-authored-by: Patrick Leonard <pjleonard37@users.noreply.github.com>
Co-authored-by: Mai Mai <mai.mai@mapbox.com>
Co-authored-by: ZiZi <44972592+ZiZasaurus@users.noreply.github.com>
Co-authored-by: Kiryl Dzehtsiarenka <kiryl.dzehtsiarenka@mapbox.com>
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.

None yet

5 participants