summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorŁukasz Paczos <lukas.paczos@gmail.com>2018-09-06 16:40:54 +0200
committerŁukasz Paczos <lukasz.paczos@mapbox.com>2018-09-12 13:59:11 +0200
commitd625993da2b43c1168e946de498197da2c4e9678 (patch)
treeac008c2526523ae57c5531a4beb33add297986b5
parentcaebcd08e3803f5758353fbadefc9b75093b4015 (diff)
downloadqtlocation-mapboxgl-d625993da2b43c1168e946de498197da2c4e9678.tar.gz
[android] prevent from reloading the location layer drawables on every location update
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java11
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationLayerController.java4
2 files changed, 12 insertions, 3 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java
index 0503c5e9dc..01ef314bf4 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationComponent.java
@@ -836,9 +836,7 @@ public final class LocationComponent {
return;
}
- if (isEnabled && isComponentStarted) {
- locationLayerController.show();
- }
+ showLocationLayerIfHidden();
if (!fromLastLocation) {
staleStateManager.updateLatestLocationTime();
@@ -850,6 +848,13 @@ public final class LocationComponent {
lastLocation = location;
}
+ private void showLocationLayerIfHidden() {
+ boolean isLocationLayerHidden = locationLayerController.isHidden();
+ if (isEnabled && isComponentStarted && isLocationLayerHidden) {
+ locationLayerController.show();
+ }
+ }
+
private void updateCompassHeading(float heading) {
locationAnimatorCoordinator.feedNewCompassBearing(heading, mapboxMap.getCameraPosition());
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationLayerController.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationLayerController.java
index 75826f911b..da3144eea1 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationLayerController.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/location/LocationLayerController.java
@@ -188,6 +188,10 @@ final class LocationLayerController implements MapboxAnimator.OnLayerAnimationsV
}
}
+ boolean isHidden() {
+ return isHidden;
+ }
+
private void setLayerVisibility(String layerId, boolean visible) {
Layer layer = mapboxMap.getLayer(layerId);
if (layer != null) {