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

Make gestureOptions.decelarationRate the source of truth #662

Merged

Conversation

neelmistry94
Copy link
Contributor

Pull request checklist:

  • Briefly describe the changes in this PR.
  • Document any changes to public APIs.
  • Apply changelog label ('breaking change', 'bug 🪲', 'build', 'docs', 'feature 🍏', 'performance ⚡', 'testing 💯') or use the label 'skip changelog'

Summary of changes

This updates gestures to treat the GestureOptions.decelarationRate as the source of truth

@neelmistry94 neelmistry94 added the breaking change ⚠️ If your pull request introduces a breaking change and updates are required when version is published label Sep 8, 2021
@neelmistry94 neelmistry94 enabled auto-merge (squash) September 8, 2021 18:09
Comment on lines 240 to 236
duration: Double(decelerationRate),
duration: Double(options.decelerationRate),
Copy link
Contributor

Choose a reason for hiding this comment

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

indentation

@neelmistry94 neelmistry94 force-pushed the nm/deduplicate_deceleration_rate branch from 10389ae to 8f0ddb4 Compare September 9, 2021 14:00
@neelmistry94 neelmistry94 merged commit 53b7aba into feature/gestures_cleanup Sep 9, 2021
@neelmistry94 neelmistry94 deleted the nm/deduplicate_deceleration_rate branch September 9, 2021 14:09
neelmistry94 pushed a commit that referenced this pull request Sep 9, 2021
* making gesture options decelaration rate the source of truth

* clean up changelog

* fix indentation
neelmistry94 pushed a commit that referenced this pull request Sep 10, 2021
* making gesture options decelaration rate the source of truth

* clean up changelog

* fix indentation
@neelmistry94 neelmistry94 mentioned this pull request Sep 21, 2021
nishant-karajgikar pushed a commit that referenced this pull request Sep 22, 2021
* making gesture options decelaration rate the source of truth

* clean up changelog

* fix indentation
nishant-karajgikar added a commit that referenced this pull request Sep 22, 2021
* remove hapticFeedbackEnabled (#663)

* remove hapticFeedbackEnabled`

* clean up changelog

* Make gestureOptions.decelarationRate the source of truth (#662)

* making gesture options decelaration rate the source of truth

* clean up changelog

* fix indentation

* Internalize UIGestureRecognizerDelegate (#669)

* seperated gesture recognizer delegate into a new class and fixed downstream breaks

* adding changelog

* swift lint and code clean up

* adding a comment

* pr comments

* Refactor gestures (#677)

#### Breaking Changes

- Pan deceleration has been temporarily removed
- `TapGestureHandler.init` was previously public by mistake and is now internal
- The behavior of `GestureManager.options` has been updated to better reflect the `isEnabled` state of the associated gesture recognizers
- The gesture recognizer properties of `GestureManager` are no longer `Optional`
- `GestureType` has been redesigned so that its cases have a 1-1 relationship with the built-in gestures

#### Public API Additions

- `CameraState`'s fields are now `var`s instead of `let`s for testing purposes, and a public, memberwise initializer has been added.
- `PanScrollingMode` now conforms to `CaseIterable`
- `GestureType` now conforms to `CaseIterable`

#### Bug fixes

- GestureManager no longer sets itself as the delegate of all gestures in MapView when its options change

#### Internal Refactoring

- Generalizes `CameraAnimatorMapboxMap` by renaming it to `MapboxMapProtocol` so that it can be used throughout the SDK. SDK seems small enough that per-component dependency inversion feels unnecessary and might negatively impact binary size.
- Removes old `GestureHandlerDelegate` by injecting `MapboxMap` and `CameraAnimationsManager` into each gesture handler to allow each handler to manipulate the camera directly.
- Removes unnecessary `GestureContextProvider`
- Refactors handlers and `GestureManager` for dependency injection and more thorough tests
- Tidies up handlers and `GestureManager` and associated tests for greater consistency

* Pan Deceleration (#692)

* update changelog

* fix changelog

* Gesture Options Cleanup (#696)

* wip

* Change double tap to zoom out to "double touch"

* Fix warning

* Lint

* Update changelog

* [run device tests]

* Use explicit self

Co-authored-by: Andrew Hershberger <andrew.hershberger@mapbox.com>
Co-authored-by: Nishant Karajgikar <nishant.karajgikar@mapbox.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking change ⚠️ If your pull request introduces a breaking change and updates are required when version is published
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants