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

Rework Gestures #690

Merged
merged 10 commits into from
Sep 22, 2021
Merged

Rework Gestures #690

merged 10 commits into from
Sep 22, 2021

Conversation

neelmistry94
Copy link
Contributor

@neelmistry94 neelmistry94 commented Sep 20, 2021

Description

This branch contains a series of PRs that will address our Gestures Epic. This redesign of our gestures module will address bugs and issues that have been raised. Please see the following PRs to see specific changes that occurred as part of this feature branch

Pull Requests

@neelmistry94 neelmistry94 marked this pull request as ready for review September 21, 2021 16:44
Neel Mistry and others added 6 commits September 22, 2021 13:31
* remove hapticFeedbackEnabled`

* clean up changelog
* making gesture options decelaration rate the source of truth

* clean up changelog

* fix indentation
* 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
#### 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
* wip

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

* Fix warning

* Lint

* Update changelog
@nishant-karajgikar nishant-karajgikar changed the title Feature/gestures cleanup Rework Gestures Sep 22, 2021
@nishant-karajgikar nishant-karajgikar merged commit 00a6629 into main Sep 22, 2021
@macdrevx macdrevx deleted the feature/gestures_cleanup branch October 21, 2021 15:43
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