summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java23
1 files changed, 23 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java
index 4f37dd6f36..3fd3e1220a 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/UiSettings.java
@@ -91,6 +91,8 @@ public final class UiSettings {
saveLogo(outState);
saveAttribution(outState);
saveZoomControl(outState);
+ saveDeselectMarkersOnTap(outState);
+ saveFocalPoint(outState);
}
void onRestoreInstanceState(@NonNull Bundle savedInstanceState) {
@@ -99,6 +101,8 @@ public final class UiSettings {
restoreLogo(savedInstanceState);
restoreAttribution(savedInstanceState);
restoreZoomControl(savedInstanceState);
+ restoreDeselectMarkersOnTap(savedInstanceState);
+ restoreFocalPoint(savedInstanceState);
}
private void initialiseGestures(MapboxMapOptions options) {
@@ -783,6 +787,14 @@ public final class UiSettings {
return doubleTapGestureChangeAllowed;
}
+ private void restoreDeselectMarkersOnTap(Bundle savedInstanceState) {
+ setDeselectMarkersOnTap(savedInstanceState.getBoolean(MapboxConstants.STATE_DESELECT_MARKER_ON_TAP));
+ }
+
+ private void saveDeselectMarkersOnTap(Bundle outState) {
+ outState.putBoolean(MapboxConstants.STATE_DESELECT_MARKER_ON_TAP, isDeselectMarkersOnTap());
+ }
+
/**
* Gets whether the markers are automatically deselected (and therefore, their infowindows
* closed) when a map tap is detected.
@@ -862,6 +874,17 @@ public final class UiSettings {
setDoubleTapGesturesEnabled(enabled);
}
+ private void saveFocalPoint(Bundle outState) {
+ outState.putParcelable(MapboxConstants.STATE_USER_FOCAL_POINT, getFocalPoint());
+ }
+
+ private void restoreFocalPoint(Bundle savedInstanceState) {
+ PointF pointF = savedInstanceState.getParcelable(MapboxConstants.STATE_USER_FOCAL_POINT);
+ if (pointF != null) {
+ setFocalPoint(pointF);
+ }
+ }
+
/**
* Sets the focal point used as center for a gesture
*