-
Notifications
You must be signed in to change notification settings - Fork 509
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
[Android] Upgrade annotation plugin to v0.9 #381
Conversation
@@ -783,27 +783,31 @@ public void onCameraTrackingDismissed() { | |||
} | |||
|
|||
@Override | |||
public void onAnnotationClick(Annotation annotation) { | |||
public boolean onAnnotationClick(Annotation annotation) { | |||
if (annotation instanceof Symbol) { | |||
final SymbolController symbolController = symbols.get(String.valueOf(annotation.getId())); | |||
if (symbolController != null) { | |||
symbolController.onTap(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't onTap
method return a boolean whether or not the event should be consume ? Like in android plugin ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Ph0tonic I also thought about that, the problem is that we can have 0 to n listeners in flutter, so we'd need to decide which one makes the final decision. I haven't been able to come up with a good solution for this so far.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For android plugin, they decided to return as soon as a listener consumes the event. In other word, the first listener in the order of registration, which consume the event prevent all other listeners to be triggered.
I think that this makes sense.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thinking about it again that definitely makes sense.
It'll probably be a bit until I find time to make the change, though, so if you'd like to, feel free to implement it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can tackle this as tailwork, thanks for 👀 @Ph0tonic
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure I'll have time to tackle this but in any case you're welcome. 👍
* Expose CompassViewPosition flutter-mapbox-gl#344 (flutter-mapbox-gl#346) Co-authored-by: emre.yalcin <emre.yalcin@netcad.com.tr> * Readme: location features on Android (flutter-mapbox-gl#342) * Update CONTRIBUTING.md (flutter-mapbox-gl#366) * Release 0.8.0 (flutter-mapbox-gl#390) * [release] update CHANGELOG.md for release of v0.8.0 * [release] update version numbers to v0.8.0 * Update CONTRIBUTING.md (flutter-mapbox-gl#401) Fix stale pull, issues & changelog urls in the contributing guide. * Fix data parameter for addLine and addCircle (flutter-mapbox-gl#388) * Split padding values in CameraUpdate.newLatLngBounds() (flutter-mapbox-gl#382) * Split padding values in CameraUpdate.newLatLngBounds() * Remove old unused code Co-authored-by: Tobrun <tobrun.van.nuland@gmail.com> * Re-enable attribution on android (flutter-mapbox-gl#383) * Upgrade Android annotation plugin to v0.9 (flutter-mapbox-gl#381) * web: ignore myLocationTrackingMode if myLocationEnabled is false (flutter-mapbox-gl#363) * Add methods to access projection (flutter-mapbox-gl#380) * remove bitmap; add projection access * Replace ScreenLocation with Point; expand iOS implementation * fix iOS with guard let * iOS: cast to NSObject * fix typo * round result of toScreenLocation() * Revert "round result of toScreenLocation()" This reverts commit 838726a. * Docs: document rounding behaviour * Add Fill API support (flutter-mapbox-gl#49) * [flutter] [android] - add fill support * Resolved merge conflict. * A first working version for ios (after some extensive rebasing). * Minor cleanup * Minor cleanup. * Fix broken build Android. * A working version for Android. * Minor cleanup. * Added fill pattern example. Works on Android not on iOS. Seems to break consecutive fills though. * For the first queried feature (when filter is set) create a fill. * Fix lint issue (unused method). * Updated code formatting. * Added interior polygon to iOS. * [docs] update readme support table * fixup Co-authored-by: Timothy Sealy <timothy.sealy@gmail.com> * Listen to OnUserLocationUpdated to provide user location to app (flutter-mapbox-gl#237) * Listen to OnUserLocationUpdated to provide user location to app While the `myLocationEnabled` property is set to `true`, this method is called whenever a new location update is received by the map view. iOS only, needs Android. I did check that the location properties carried here are also provided in Android's [Location][1] object. [1]: https://developer.android.com/reference/android/location/Location * add android, web; fix conflicts Co-authored-by: m0nac0 <58807793+m0nac0@users.noreply.github.com> Co-authored-by: Tobrun <tobrun.van.nuland@gmail.com> * fix: correct bug on android where checking on activity lifecycles that were disposed (flutter-mapbox-gl#266) Co-authored-by: leo cornillon <leo.cornillon.dev@gmail.com> Co-authored-by: m0nac0 <58807793+m0nac0@users.noreply.github.com> * Add support for custom font stack in symbol options (flutter-mapbox-gl#359) * fix memory leak caused by strong self reference (flutter-mapbox-gl#370) * Basic ImageSource Support (flutter-mapbox-gl#409) * Introduce LatLngQuad Introduce the LatLngQuad object which will be useful to pass in all the required parameters to the addSource() method we will define later. * Introduce addSource() Method Add the addSource(..) method to the mapbox_gl_platform_interface.dart * Add addSource MethodChannel * Place ImageSource Android - Introduce the PlaceSource page as a playground - Add 'addImageSource', 'removeImageSource', 'addLayer' & 'removeLayer' apis - Implement Android platform interface * iOS ImageSource Implementation Implement addImageSource, removeImageSource, addLayer & removeLayer on iOS. * Fix iOS CoordinateQuad Mapping Co-authored-by: Tobrun <tobrun.van.nuland@gmail.com> * Get meters per pixel at latitude (flutter-mapbox-gl#416) * fix git refferences * fix git refferences * implementation of getMetersPerPixelAtLatitude * getMetersPerPixelAtLatitude * fix refference paths * Android implementation and Example updated. * added comments to getMetersPerPixelAtLatitude method * IOS implementation * Removed modified lines from pubspec.yaml files * web implementation Co-authored-by: Tobrun <tobrun.van.nuland@gmail.com> * fix onStyleLoadedCallback (flutter-mapbox-gl#418) * fix onStyleLoadedCallback * fix onStyleLoadedCallback called before onMapCreated Co-authored-by: Tobrun <tobrun.van.nuland@gmail.com> * Release 0.9.0 * update version numbers for v0.9.0 release * fix ios onSymbolTapped Co-authored-by: emreuguryalcintr <50848628+emreuguryalcintr@users.noreply.github.com> Co-authored-by: emre.yalcin <emre.yalcin@netcad.com.tr> Co-authored-by: m0nac0 <58807793+m0nac0@users.noreply.github.com> Co-authored-by: Tobrun <tobrun.van.nuland@gmail.com> Co-authored-by: cuberob <robdeknegt@gmail.com> Co-authored-by: qbouchat <48958612+qbouchat@users.noreply.github.com> Co-authored-by: Timothy Sealy <timothy.sealy@gmail.com> Co-authored-by: Nathan <nathan@transit.app> Co-authored-by: Leo Cornillon <corle.cugly@gmail.com> Co-authored-by: leo cornillon <leo.cornillon.dev@gmail.com> Co-authored-by: Philip Lindberg <philip.c.lindberg@gmail.com> Co-authored-by: Thomas Kröniger <30893720+thirteenthstep@users.noreply.github.com> Co-authored-by: cuberob <git@cuberob.com> Co-authored-by: GULERTOLGA <gulertolga@gmail.com> Co-authored-by: Andrea Valenzano <andr3a689@gmail.com>
v0.9 of the Android annotation plugin includes fixes for these two issues:
draggable
property now works for all annotation typesFixes #130. #348 is fixed for Android.