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

Pan Deceleration #692

Merged
merged 4 commits into from
Sep 21, 2021
Merged

Pan Deceleration #692

merged 4 commits into from
Sep 21, 2021

Conversation

macdrevx
Copy link
Contributor

@macdrevx macdrevx commented Sep 20, 2021

Fixes: < Link to related issues that will be fixed by this pull request, if they exist >

Pull request checklist:

  • Briefly describe the changes in this PR.
  • Write tests for all new functionality. If tests were not written, please explain why.
  • Apply changelog label ('breaking change', 'bug 🪲', 'build', 'docs', 'feature 🍏', 'performance ⚡', 'testing 💯') or use the label 'skip changelog'
  • Update the changelog

Summary of changes

Reimplements pan deceleration via a custom deceleration simulation.

@macdrevx macdrevx added the feature 🍏 When working on a new feature or feature enhancement label Sep 20, 2021
@macdrevx macdrevx changed the base branch from main to feature/gestures_cleanup September 20, 2021 20:06
@macdrevx macdrevx requested review from neelmistry94 and nishant-karajgikar and removed request for neelmistry94 September 20, 2021 20:10
@macdrevx macdrevx enabled auto-merge (squash) September 21, 2021 15:40
@macdrevx macdrevx merged commit ad05bdb into feature/gestures_cleanup Sep 21, 2021
@macdrevx macdrevx deleted the nm/deceleration branch September 21, 2021 15:47
@neelmistry94 neelmistry94 mentioned this pull request Sep 21, 2021
nishant-karajgikar pushed a commit that referenced this pull request Sep 22, 2021
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
feature 🍏 When working on a new feature or feature enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants