summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpaczos <lukasz.paczos@mapbox.com>2017-12-14 15:45:54 +0100
committerpaczos <lukasz.paczos@mapbox.com>2017-12-14 15:46:47 +0100
commit4a6ae2b0ed18aa8ad3398906a5e470beab7dc82b (patch)
treeab6c0c86519b98ac192bd8af3292422803844c20
parent3d432a96b87b714c4a771515bbf9561116082752 (diff)
downloadqtlocation-mapboxgl-upstream/lp-multiple-map-click-listeners.tar.gz
[android] new map touch listeners API commentsupstream/lp-multiple-map-click-listeners
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java28
1 files changed, 19 insertions, 9 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java
index 9694be43f7..0fea5ce0ff 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java
@@ -50,11 +50,13 @@ final class MapGestureDetector {
private RotateGestureDetector rotateGestureDetector;
private ShoveGestureDetector shoveGestureDetector;
+ // deprecated map touch API
private MapboxMap.OnMapClickListener onMapClickListener;
private MapboxMap.OnMapLongClickListener onMapLongClickListener;
private MapboxMap.OnFlingListener onFlingListener;
private MapboxMap.OnScrollListener onScrollListener;
+ // new map touch API
private final CopyOnWriteArrayList<MapboxMap.OnMapClickListener> onMapClickListenerList
= new CopyOnWriteArrayList<>();
@@ -383,7 +385,10 @@ final class MapGestureDetector {
@Override
public void onLongPress(MotionEvent motionEvent) {
PointF longClickPoint = new PointF(motionEvent.getX(), motionEvent.getY());
- notifyOnMapLongClickListeners(longClickPoint);
+
+ if (!quickZoom) {
+ notifyOnMapLongClickListeners(longClickPoint);
+ }
}
@Override
@@ -463,43 +468,48 @@ final class MapGestureDetector {
}
void notifyOnMapClickListeners(PointF tapPoint) {
- // notify app of map click
+ // deprecated API
if (onMapClickListener != null) {
onMapClickListener.onMapClick(projection.fromScreenLocation(tapPoint));
}
+ // new API
for (MapboxMap.OnMapClickListener listener : onMapClickListenerList) {
listener.onMapClick(projection.fromScreenLocation(tapPoint));
}
}
void notifyOnMapLongClickListeners(PointF longClickPoint) {
- if (!quickZoom) {
- if (onMapLongClickListener != null) {
- onMapLongClickListener.onMapLongClick(projection.fromScreenLocation(longClickPoint));
- }
+ // deprecated API
+ if (onMapLongClickListener != null) {
+ onMapLongClickListener.onMapLongClick(projection.fromScreenLocation(longClickPoint));
+ }
- for (MapboxMap.OnMapLongClickListener listener : onMapLongClickListenerList) {
- listener.onMapLongClick(projection.fromScreenLocation(longClickPoint));
- }
+ // new API
+ for (MapboxMap.OnMapLongClickListener listener : onMapLongClickListenerList) {
+ listener.onMapLongClick(projection.fromScreenLocation(longClickPoint));
}
}
void notifyOnFlingListeners() {
+ // deprecated API
if (onFlingListener != null) {
onFlingListener.onFling();
}
+ // new API
for (MapboxMap.OnFlingListener listener : onFlingListenerList) {
listener.onFling();
}
}
void notifyOnScrollListeners() {
+ //deprecated API
if (onScrollListener != null) {
onScrollListener.onScroll();
}
+ // new API
for (MapboxMap.OnScrollListener listener : onScrollListenerList) {
listener.onScroll();
}