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

Expose list of added view annotations #1621

Merged
merged 5 commits into from
Oct 17, 2022

Conversation

maios
Copy link
Contributor

@maios maios commented Oct 4, 2022

Pull request checklist:

  • Describe the changes in this PR, especially public API 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 a changelog entry to to bottom of the relevant section (typically the ## main heading near the top).
  • 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.

@maios maios requested a review from ank27 October 4, 2022 08:12
@maios maios requested a review from a team as a code owner October 4, 2022 08:12
@@ -60,6 +60,9 @@ public final class ViewAnnotationManager {
/// The default value is true, and setting this value to false will disable the validation.
public var validatesViews = true

/// The complete list of annotations associated with the receiver.
public var annotations: [UIView] { Array(viewsById.values) }

Choose a reason for hiding this comment

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

Should we also return ViewAnnotationOptions associated with the view? Otherwise, engine (developer) would need to iterate twice:

for (view : manager.annotations) {
  coordinate = manager.options(view).geometry // lookup 
}

Copy link
Contributor

Choose a reason for hiding this comment

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

i think better to provide map of UIView, ViewAnnotationOptions. is it correct @alexshalamov .

Copy link
Contributor Author

Choose a reason for hiding this comment

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

that makes sense, I have amended the api to return list of added annotation view and its options, thank you!

@@ -9,6 +9,19 @@ public enum ViewAnnotationManagerError: Error {
case geometryFieldMissing
}

/// Represents an annotation view.
public struct ViewAnnotation {
Copy link
Contributor

Choose a reason for hiding this comment

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

It seems to me that introducing a whole new entity is a bit overkill for this case, would Dictionary< ViewAnnotationOptions, UIView> do the trick 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.

Clients need to wrap crud methods and keep the list on their side if they want to iterate over view annotations and perform some action.

If I understand the task correctly, this is to move this from client to our code base, keep the list of added view and its options. If we do a dictionary like suggested then again the client would need to keep a list of options on their side.

Copy link
Contributor

Choose a reason for hiding this comment

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

With annotations defined like this: public var annotations: Dictionary<ViewAnnotationOptions, UIView>, annotations.keys returns the list of options and annotations.values returns the list of views.

@maios maios requested a review from evil159 October 13, 2022 07:19
@maios maios force-pushed the feature/MAPSIOS-366_view-annotations-list branch from 9142a5c to 972d582 Compare October 17, 2022 13:18
@maios maios merged commit ed74e27 into main Oct 17, 2022
@maios maios deleted the feature/MAPSIOS-366_view-annotations-list branch October 17, 2022 13:42
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)

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

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

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

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

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

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>
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>
OdNairy pushed a commit that referenced this pull request Aug 22, 2023
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

4 participants