summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorBharath MG <mgbharath@ymail.com>2016-07-24 17:19:59 +0530
committerBharath MG <mgbharath@ymail.com>2016-07-24 17:19:59 +0530
commit154d771220533e2674c9fcf3cc6241f950882794 (patch)
tree8707087b732afb8801ad0ec3e157b30d7f9fc65a /platform
parent39512aaef14bced3bf5116065203054992ee8e25 (diff)
downloadqtlocation-mapboxgl-154d771220533e2674c9fcf3cc6241f950882794.tar.gz
[android] Fixes #5777. deselectMarker is delegated to MapboxMap from Marker manager.
Diffstat (limited to 'platform')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java20
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java6
2 files changed, 23 insertions, 3 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java
index c9ced6546b..30167d540b 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java
@@ -8,7 +8,6 @@ import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.view.animation.AnimationUtils;
import android.widget.ImageView;
import com.mapbox.mapboxsdk.R;
@@ -175,6 +174,19 @@ public class MarkerViewManager {
* @param marker the MarkerView to deselect
*/
public void deselect(@NonNull MarkerView marker) {
+ deselect(marker, true);
+ }
+
+ /**
+ * Animate a MarkerView to a deselected state.
+ * <p>
+ * The {@link com.mapbox.mapboxsdk.maps.MapboxMap.MarkerViewAdapter#onDeselect(MarkerView, View)} will be called to execute an animation.
+ * </p>
+ *
+ * @param marker the MarkerView to deselect
+ * @param callbackToMap indicates if deselect marker must be called on MapboxMap
+ */
+ public void deselect(@NonNull MarkerView marker, boolean callbackToMap) {
final View convertView = markerViewMap.get(marker);
if (convertView != null) {
for (MapboxMap.MarkerViewAdapter adapter : markerViewAdapters) {
@@ -182,6 +194,10 @@ public class MarkerViewManager {
adapter.onDeselect(marker, convertView);
}
}
+ if (callbackToMap) {
+ mapboxMap.deselectMarker(marker);
+ }
+ marker.setSelected(false);
}
}
@@ -197,7 +213,7 @@ public class MarkerViewManager {
/**
* Animate a MarkerView to a selected state.
*
- * @param marker the MarkerView object to select
+ * @param marker the MarkerView object to select
* @param callbackToMap indicates if select marker must be called on MapboxMap
*/
public void select(@NonNull MarkerView marker, boolean callbackToMap) {
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
index a5558be883..85cb9fabae 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
@@ -1170,7 +1170,7 @@ public class MapboxMap {
}
if (marker instanceof MarkerView) {
- mMarkerViewManager.deselect((MarkerView) marker);
+ mMarkerViewManager.deselect((MarkerView) marker, false);
}
}
@@ -1191,6 +1191,10 @@ public class MapboxMap {
marker.hideInfoWindow();
}
+ if (marker instanceof MarkerView) {
+ mMarkerViewManager.deselect((MarkerView) marker, false);
+ }
+
mSelectedMarkers.remove(marker);
}